final call, hacking together something that works