narrowing synchronized scope. twice as fast, but contains a bug