first commit, copying code from amigo repl