Updated class, had a lot more to say but git is being rude.