nicer REPL interface added