switch markers to event delegation API