add page object pattern implementation