Passes hw3 all parts