Overhauled a lot of things, not gonna list them here