a more correct defineExpression