reorganize and comment