having to redo the data structures...