fixed communication in subclasses