implement the layout page
close #2
Merge branch 'layout-page'