added Page struct, save() and loadPage()