implenting SinglyLinkedList