improved REPL