Problem 21 #wip