more diff-page button handler refactoring