resolves issue #17. added coverage for all tests.