refactoring and right move