major data structure overhaul