Improve parser and interpreter