added code coverage and finished test suite