refactoring full and add some new pages