wrote unit tests, accounted for feedback