refactored ccacov