Add jacoco for code coverage; added unit tests for implementation classes