use different identifier for radius
initial C rewrite (no opts)