comm funcs