move GeometryCache to library