pages struct