Code Review

what if `ctrl.name` is neither of the above? are there others? should you error if you get an unexpected one?

also, the parenthesis on the conditions is unnecessary, unconventional, and inconsistent