separate tests into modules
add tests for coverage