extracted productClient library