revise producer.py