add release lock mechanism