diff --git a/lib/adhearsion/menu_dsl/menu_builder.rb b/lib/adhearsion/menu_dsl/menu_builder.rb
index <HASH>..<HASH> 100644
--- a/lib/adhearsion/menu_dsl/menu_builder.rb
+++ b/lib/adhearsion/menu_dsl/menu_builder.rb
@@ -16,23 +16,18 @@ module Adhearsion
       end
 
       def match(*args, &block)
-        if block_given?
+        payload = if block_given?
           raise ArgumentError, "You cannot specify both a block and a controller name." if args.last.is_a? Class
-          patterns_in = args
-          payload = nil
+          nil
         else
           raise ArgumentError, "You need to provide a block or a controller name." unless args.last.is_a? Class
-          payload = args.pop
-          patterns_in = args
+          args.pop
         end
 
-        patterns_in = Array(patterns_in)
-        if patterns_in.any?
-          patterns_in.each do |pattern|
-            @patterns << MatchCalculator.build_with_pattern(pattern, payload, &block)
-          end
-        else
-          raise ArgumentError, "You cannot call this method without patterns."
+        raise ArgumentError, "You cannot call this method without patterns." if args.empty?
+
+        args.each do |pattern|
+          @patterns << MatchCalculator.build_with_pattern(pattern, payload, &block)
         end
       end
[CS] Refactor MenuBuilder#match to remove unnecessary complexity