add HalfAdder and FullAdder