added page constructor