fixed gcdpp