some radio refactoring