revise insert(), delete(), garbage_collect()