addressed all comments, and fixed tests to all pass