new module for products refactored