add more tests; add coverage report