low/high-level examples for producer and consumer