break out page object into a separate module