anchor.diff:          }
         },
   
  -      gotoPage: function(cfi) {
  -        if ( typeof(cfi) == "string" ) {
  -          cfi = { start: cfi.replace('epubcfi(', '').replace(')','') };
  +      gotoPage: function(value) {
  +        var pageNum;
  +        if ( typeof(value) == "string" ) {
  +          if ( value.indexOf('epubcfi') > -1 ) {
  +            pageNum = value.replace('epubcfi(page=','').replace(')', '');
  +          } else {
  +            pageNum = value.replace('page=','');
  +          }
  +        } else if ( typeof(value) == 'object' && value.start ) {
  +          pageNum = value.start;
  +        } else {
  +          pageNum = value;
           }
  -        var pageNum = cfi.start;
  -        this.pdfViewer.currentPageNumber = pageNum;
  +        this.pdfViewer.currentPageNumber = parseInt(pageNum, 10);
         },
   
         reopen: function(options) {
  
positive.code:                 self.PDFViewerApplication.eventBus.on('pagechanging', function(evt) {
                    var pageNumber = evt.pageNumber;
                    self.fire('relocated', { start: pageNumber });
                  });
  
                  self.pdfViewer.eventBus.on('scalechanging', function(evt) {
                    var currentScaleValue = self.options.scale;
                    if ( currentScaleValue == 1.0 ) { currentScaleValue = 'auto'; }
                    var currentScale = parseFloat(currentScaleValue);
                    // console.log("AHOY scalechanging", evt.scale, evt.presetValue, currentScale, currentScaleValue);
                    if ( currentScale > 0 && evt.scale != currentScale ) {
                      self.pdfViewer.currentScaleValue = currentScaleValue;
                    }
                  });
  
negative.code:           var text = findController._pageContents[i];
            matches.forEach(function(match, index) {
              var snippet = self._getMatch(text, self.searchString, match);
              self._data.search_results.push({ cfi: 'page=' + ( i + 1 ), matchIdx: match, snippet: snippet });
            })
          }
  
  