An experimental version where I add wacky stuff. Comment any additions which would make it better, or any improvements to the code (that don't take too long to add).
Literally did it all myself, with a small amount of inspiration from other assorted projects.