add produce code
fix produce bug