refactord page initializer and page model