register and unregister now both take comm as an argument, not comm_id for one and comm for the other