Refactor interpreter 2