first local_communication refactoring