Added REPL, `list` function, more unit tests, better terminal output.