Filling in a bunch of stuff to prep for future things, most of this is built using Pahimars tutorials as it is useful