Added struct refactor starting
Added file
New file which is a complete refactor encapsulating data into types and removing globals