Change to doubly-linked and fuss around with implementing abstract methods.