now with subexpressions