Initial shared data add.  Things could be missing/unneeded.  Also, each circular array has its own struct with a head.  This makes for cleaner access, but is not the best way to do it.  If you have a better idea, please implement.
Style