change list implementation to a non-circular list; that makes it easier to iterate and to miss elements if we change the list while iterating