finished data structure rework
now consistent, straightforward, commented