i think this is hw4 completed in one commit