refactored strike method