implement a linkedList