revert to a cleaner state; caching is tricky