assignment 1, no tests
implemented tests for assignment 1