fully finish assignment 1