Implementation of doubly linked list with add, remove functions and iterator