fixed #2, changed insert to be O(1) for singly linked list