refactor page.show by using async