started refactoring product processing