makes repl optional