homework 4 part 1
homework 4 refactored