implemented page listener