added expression builders
code refactoring