updated products model and unit tests