refactor Product and SesionCaddy