add PageListener