add more tests and coverage reports