oops! was recreating everything per frame! fixed naughtyness with a
drawer (closure function)