a bunch of stuff - should have committed earlier