Refactoring adder