Added a "circular list" to optimize some data usage accross the application.  don't stare into the code directly, you'll go insane.  (but worth it)