counterstrategy refactoring, much cleaner