update
TODO: FIX THE EVAL (OR REDO THE WHOLE THING)