Start of an implementation using doubly-linked lists and virtual