new concurrency primitive hold