added product catalog and associated tests