cleanup for least-surprise