added jacoco
refactored