updated gcdpp