refactored Lambda to pass expression pointers instead of expressions