refactor, decouple writer and coverage packages
refactor, decouple writer and coverage packages (2)