add clean function