refactoring related changes