more flexible zooming