my implementation of a linked list