only refactoring and no functional changes