added coverage tools and more tests