coded up sample data structures to help me wrap my head around the problem I'm facing