TODO: cover communication time