finished a generic linkedlist