refine Cursor class