if this doesnt work i give up for real (probably not)