hard cleanup