added compiler barrier