finally seems to work, kinda