Splitted some classed, and lots of fixes in gcd