i still don't love this leaky abstraction but won't make a stink about it over this....