add coverage generation