a whole bunch of stuff basically works now