Worked on the go; added 7 unit tests; test 7 still needs to be manually
verified.