correct repl impl