Optimize code and structure, Can use  hierarchical name now