some changes to assignment 3 and 4