linked list
using nslinklist