Started to work on es2
Merged with trunk