modified zoom function !!