Communication part refactoring