updated getProductString, among other changes