deep cleanup