expression language implementation
expression refactoring
merged