test coverage over 99%. add linting to test run