Refactoring and adding