markers and listeners