working adder, cleaned up