in ios touchend doesn't fire after moving which is why we use touchcancel