reorganize codes.