chanhge signature visual_to_intrnal, internal_to_visual, get_cursor