a fuckton of changes because I suck