jQuery Nested Sortable - Przenieś elementy LI we wszystkich dostępnych UL

Mam następujący kod, który działa, chociaż działa dość wolno. Chcę to zrobić<li>ma być swobodnie przemieszczany pod istniejącym<ul>lub przenieś je na wyższy poziom. Chcę także móc tworzyć hierarchie, więc jeśli przeciągnąłeś<li> pod innym<li> to stworzy hierarchię. Myślę, że w tym sensie musiałbym oddać<ul> pod każdym<li> w razie czego. Chcę tylko ograniczyć go do 2 lub 3 poziomów.

$("#sort_list").sortable({
  containment: 'parent',                                                                                     
  axis: 'y',
  revert: true,
  opacity: 0.8
});
$(".sub_list").sortable({ 
  containment: 'parent',
  axis: 'y',
  revert: true,
  opacity: 0.8,
});
$("#sort_list").disableSelection();

<ul id="sort_list">
  <li>one</li>
  <li>two
    <ul class="sub_list">
    <li>sub one</li>
    <li>sub two</li>
    </ul>
  </li>
  <li>three</li>
  <li>four</li>
</ul>

questionAnswers(4)

yourAnswerToTheQuestion