improve parser code & add editor features