added drag and zoom