rework per discovery and cleanup