data structures for gate