added comm functions