update and reorganize