Added a gate type enum
Added stuff to handle only 1 input wire
Changes to make InputGateType work