add admin page, refactor page structure