more robust synchronization method