add getPageSafe method