feat: add REPL supportg