construct page structure