open-run-close related refactoring