I have created an adder which utilizes the approach you are using.
However, in the project description, we are given an input called "flag" which indicates a negative or positive value. If flag is 1, then convert the bits to two's complement and do addition.
The part I'm struggling with is writing gate level description for the if statement.