added GatherLock