implemented a linkedList