implemented a simple repl