Cleared shit, going to rewrite a lot.