add cursor based list's implementation