revamped linked list class