additions to DispatchExpr (still needs finishing)