Preparation for a future project that I am working on with @AnonymousShorty
Thanks to DkUniverse for some of the code for some of the physics.