Refactor communication section