shit is still fucked up. will try a different approach