added functionality for producer