more progress
more updates
rewrote data structures