A huge first draft, too many changes for this message to be relevant :3