add lock() and unlock()