got all tests passing, but probably want to put more time into test coverage