updated versions of assignment 4