implement clean task