IntersectCursor; refactor methods into MetaCursor