add happen-before