comm routine