synchronization is hard