add Provider3 and Consumer3