first draft of reintroduced ShadowExpression