added product object and basic unit tests