change the method of producer