implement REPL
add REPL functionality