classes for communication