not perfict version to cause race condition.