did a lot of stuff that  should have committed separately. oops