add produce method