Completed Programming Assignment 3 with unit tests
Really with unit tests this time