implement @aflaxman's fix to zoom behavior