Last exercise of Chapter 4... added some thoughts on code... might want to refactor the linked lists one