updated doubly list interface and struct