finished ShadowExpression implementation