add provider4 / consumer4
implement provider4