more functioning version, test has a working repl