refactoring and removing