gcd can now handle 2D blocks; parallelized isGreaterThanOne