use atomic for fence seq