TONS OF PROGRESS.
All that is left now is saving and loading the data.
Then testing...