huge refactoring in Xtext