refactor show page