modify part 4&5 of assignment 2
Merge branch 'assignment2'