impl. thread synchonization