Problem 50 in progress (lots of work left to do!)