adder implementation with test case