Extended to use Vectors for Circle intersect tests + Shape inheritance