add zooming and draging