added UpstreamImplicit and added default parameters