refactoring Add Operation