added shift drag zoom