Implement publisher
Implement consumer