figured out a whole bunch of things