Made some progress using a linked list