refactoring producer for model