better zoom/unzoom handling