add repl struct