optional locking argument