adding test coverage and fixes due to failed tests
finalizing test coverage