the first commit will probably be wrong because I've probable misunderstood side effects grumble grumble

just don't worry.