Generalized previous commit. Why? Because it was fun.