refactoring for BlockBreaker