add deletion function
add reordering function