finally works but pretty sure