refactor to execute block