hmm wut
some weird behavior but mostly done. will check later