Fixed shallow copy issue for geometry operations, added ICloner