refactor interpreter and cleaning parser