added BARRIER;