Refactor, add touch recognition instead of drag