assignment 1,2,3