still working on getting unit tests to pass