added alternate full adder