finish assignment 1-4
Merge branch 'assignment1_4'