source with lock