rebuilt radio group implementation