more generic clean