diff --git a/Gemfile b/Gemfile
index 14bfccf9d3d121e4e27d3bce4b614fdd3f5b3f77..dea3f17625d03ab46365a3e2fc25aa683deca5fb 100644
--- a/Gemfile
+++ b/Gemfile
@@ -6,7 +6,7 @@ gemspec
 
 group :development do
   # gem 'sqlite3'
-  gem 'influxdb-client', '1.16.0.pre.2765'
+  gem 'influxdb-client', '1.16.0.pre.2890'
 end
 
 # To use a debugger
diff --git a/Gemfile.lock b/Gemfile.lock
index 0020e2605f4a3111006b4a28638aa78435ea5a33..c90f4e7be0b3215054022996f14821d929154838 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,8 +1,8 @@
 PATH
   remote: .
   specs:
-    latias-influxdb (1.0.1)
-      influxdb-client (~> 1.16.0.pre.2765)
+    latias-influxdb (1.1.1)
+      influxdb-client (~> 1.16.0.pre.2890)
       rails (~> 6.1.4)
 
 GEM
@@ -75,7 +75,7 @@ GEM
       activesupport (>= 4.2.0)
     i18n (1.8.10)
       concurrent-ruby (~> 1.0)
-    influxdb-client (1.16.0.pre.2765)
+    influxdb-client (1.16.0.pre.2890)
     loofah (2.10.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
@@ -118,7 +118,7 @@ GEM
       method_source
       rake (>= 0.13)
       thor (~> 1.0)
-    rake (13.0.5)
+    rake (13.0.6)
     sprockets (4.0.2)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
@@ -138,7 +138,7 @@ PLATFORMS
   x86_64-darwin-19
 
 DEPENDENCIES
-  influxdb-client (= 1.16.0.pre.2765)
+  influxdb-client (= 1.16.0.pre.2890)
   latias-influxdb!
 
 BUNDLED WITH
diff --git a/README.md b/README.md
index 30107e6855d59db06ea689fd0ae3f746ac2e0030..6532f05be878b4557600b187877ff81c649e6fed 100644
--- a/README.md
+++ b/README.md
@@ -141,6 +141,50 @@ mdb_energy_bucket.one_minute_before.find_cpu.call
 mdb_energy_bucket.my_cpu_value
 ```
 
+## Method
+
+```ruby
+def yield(query)
+  merge_query('yield', query)
+end
+
+def range(query)
+  merge_query('range', query)
+end
+
+def filter(query)
+  merge_query('filter', query)
+end
+
+def duplicate(query)
+  merge_query('duplicate', query)
+end
+
+def merge_query(key, query)
+  raw_function "#{key}(#{query})"
+end
+
+def raw_function(function)
+  raw_query "#{new_command} #{function}"
+end
+
+def raw_query(query)
+  @query += query
+  self
+end
+
+def client_reconnection
+  client_connection
+end
+
+# And
+
+def execute(query)
+  @query = query
+end
+
+```
+
 ## License
 
 The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
diff --git a/gemfiles/latias-influxdb-1.1.1.gem b/gemfiles/latias-influxdb-1.1.1.gem
new file mode 100644
index 0000000000000000000000000000000000000000..320dbbde1a7fd50b4e09168fff848dadacf6125a
Binary files /dev/null and b/gemfiles/latias-influxdb-1.1.1.gem differ
diff --git a/latias-influxdb.gemspec b/latias-influxdb.gemspec
index 8a2328bfaa3caf418c6f036630895e67cd65d946..e8306d3a90e8d8cfb41ffa63bfe6b85bb98fca81 100644
--- a/latias-influxdb.gemspec
+++ b/latias-influxdb.gemspec
@@ -15,8 +15,8 @@ Gem::Specification.new do |spec|
   spec.metadata['source_code_uri'] = spec.homepage
   # spec.metadata['changelog_uri'] = spec.homepage
 
-  spec.files = Dir['{app,config,db,lib}/**/*', 'MIT-LICENSE', 'Rakefile', 'README.md']
+  spec.files = Dir['{config,lib}/**/**/*', 'MIT-LICENSE', 'Rakefile', 'README.md']
 
-  spec.add_dependency 'influxdb-client', '~> 1.16.0.pre.2765'
+  spec.add_dependency 'influxdb-client', '~> 1.16.0.pre.2890'
   spec.add_dependency 'rails', '~> 6.1.4'
 end
diff --git a/lib/latias/influxdb.rb b/lib/latias/influxdb.rb
index 430427e2b23b5ee48b2e979893088f207297c59e..112a3bf81cab9b5421acfb9f4b82fe258939b8e5 100644
--- a/lib/latias/influxdb.rb
+++ b/lib/latias/influxdb.rb
@@ -4,6 +4,7 @@ require 'latias/influxdb/bucket'
 require 'latias/influxdb/version'
 require 'latias/influxdb/engine'
 require "latias/influxdb/configuration"
+require "latias/influxdb/action_bucket/base"
 
 module Latias
   # Influxdb
diff --git a/lib/latias/influxdb/action_bucket/base.rb b/lib/latias/influxdb/action_bucket/base.rb
new file mode 100644
index 0000000000000000000000000000000000000000..a930b2e51f44e0568028fdd34bb3185ec42875a3
--- /dev/null
+++ b/lib/latias/influxdb/action_bucket/base.rb
@@ -0,0 +1,50 @@
+# frozen_string_literal: true
+
+require 'influxdb-client'
+
+module Latias
+  # Influxdb
+  module Influxdb
+    # Bucket
+    module ActionBucket
+      # base
+      class Base
+        attr_reader :url, :token, :bucket, :org, :use_ssl, :verify_mode, :precision, :query, :client
+
+        def execute(query)
+          @query = query
+        end
+
+        def call
+          all_query = "from(bucket: \"#{use_value('bucket')}\") #{@query}"
+          @query = ''
+          @client.create_query_api.query(query: all_query, org: use_value('org'))
+        end
+
+        def client_connection
+          @query = ''
+          @client = InfluxDB2::Client.new(use_value('url'), use_value('token'),
+                                          use_ssl: use_value('use_ssl'),
+                                          verify_mode: use_value('verify_mode'),
+                                          precision: InfluxDB2::WritePrecision::NANOSECOND)
+          self
+        end
+
+        private
+
+        def use_value(key)
+          b = get_binding("self")
+          b.eval("@#{key}") || Latias::Influxdb.configuration.send(key)
+        end
+
+        def new_command
+          '|> '
+        end
+
+        def get_binding(param)
+          binding
+        end
+      end
+    end
+  end
+end
diff --git a/lib/latias/influxdb/bucket.rb b/lib/latias/influxdb/bucket.rb
index 97679a0331eac4b96824bce9faef9a3c4812e8f2..a1f7cadf87e7baa7677249a0c6dd4de13d0f8ad0 100644
--- a/lib/latias/influxdb/bucket.rb
+++ b/lib/latias/influxdb/bucket.rb
@@ -1,65 +1,43 @@
 # frozen_string_literal: true
 
-require 'influxdb-client'
+require "latias/influxdb/action_bucket/base"
 
 module Latias
   # Influxdb
   module Influxdb
     # Bucket
-    class Bucket
-      attr_reader :url, :token, :bucket, :org, :use_ssl, :verify_mode, :precision
-
-      def call
-        all_query = "from(bucket: \"#{use_value('bucket')}\") #{@query}"
-        @query = ''
-        @client.create_query_api.query(query: all_query, org: use_value('org'))
-      end
-
+    class Bucket < Latias::Influxdb::ActionBucket::Base
       def yield(query)
-        @query += "#{new_command} yield(#{query})"
-        self
+        merge_query('yield', query)
       end
 
       def range(query)
-        @query += "#{new_command} range(#{query})"
-        self
+        merge_query('range', query)
       end
 
       def filter(query)
-        @query += "#{new_command} filter(#{query})"
-        self
+        merge_query('filter', query)
       end
 
-      def real_query(query)
-        @query += query
+      def duplicate(query)
+        merge_query('duplicate', query)
       end
 
-      def client_connection
-        @query = ''
-        @client = InfluxDB2::Client.new(use_value('url'), use_value('token'),
-                                        use_ssl: use_value('use_ssl'),
-                                        verify_mode: use_value('verify_mode'),
-                                        precision: InfluxDB2::WritePrecision::NANOSECOND)
-        self
+      def merge_query(key, query)
+        raw_function "#{key}(#{query})"
       end
 
-      def client_reconnection
-        client_connection
-      end
-
-      private
-
-      def use_value(key)
-        b = get_binding("self")
-        b.eval("@#{key}") || Latias::Influxdb.configuration.send(key)
+      def raw_function(function)
+        raw_query "#{new_command} #{function}"
       end
 
-      def new_command
-        '|> '
+      def raw_query(query)
+        @query += query
+        self
       end
 
-      def get_binding(param)
-        binding
+      def client_reconnection
+        client_connection
       end
     end
   end
diff --git a/lib/latias/influxdb/version.rb b/lib/latias/influxdb/version.rb
index 9257f5a36ae3190a0881b66f246b2264c02faf9d..53684b35cb2cee1149fa1ae57b99b890cde406d0 100644
--- a/lib/latias/influxdb/version.rb
+++ b/lib/latias/influxdb/version.rb
@@ -2,6 +2,6 @@
 
 module Latias
   module Influxdb
-    VERSION = '1.0.1'
+    VERSION = '1.1.1'
   end
 end