add repl (and probably break lexical scoping too... we'll see)