doing weird shit that i don't even know how it works, i think i broke it