Working on removing dependance on GCD