added interactive shell (repl)