accept the protocol name directly from the controller layer