refactored radioController