hw1 + hw2 + hw3 + hw4