Gate Class

This is the gate class