some modification of clean