add communicate migration function