Gate Reader

Gate reading and file reading/writing looks working. Just need to
annotate later and fix and debug.