finishing interpreter
separating the editor
allowing recursion