redesigned item_lock interface