re #2 - add lock and unlock functionality