fine grained syncronization