added new page,some code refactoring