fix zoom function