with save and sort , clean