refactor Comm