while I like short variable names, here they are part of the API by being parameter names. I recommend using slightly more readable ones ("cid" particularly, but I always confused by "snr", too, I always think of "signal-to-noise-ratio" ;) )