producer class