refactoring: move GCov classes to a separate package