support move() and del()
add tests for del