Trying to prep for an upcoming course, The code in here is going to be uglier than usual