first cut of producer functionality completed