a whole bunch of python data structures and algorithms