Add with refactoring