I might adjust or change some things along the way as i deem fit, but this is what the basic structure of what i'm working on looks like :v