user and cursor model