modulize the program
Merge branch 'wenxinshi'