adapting zoom