symbol to block method and more refactoring