refactoring + add limit + manage product and product template exception