Reorganize the code structure

same