[struct change] split pages & functions