Just for completeness of the legacy branch... breaks API though...