Refactoring add method