hw2 and hw3
commited hw1 and 3