better scroll to zoom implementation