diff --git a/lib/codeme/config.rb b/lib/codeme/config.rb
index <HASH>..<HASH> 100644
--- a/lib/codeme/config.rb
+++ b/lib/codeme/config.rb
@@ -6,6 +6,7 @@ module Codeme
       attr_accessor :default_config
 
       def method_missing(name, *args, &block)
+        p name
         (@instance ||= self.new).send(name, *args, &block)
       end
 
@@ -13,6 +14,10 @@ module Codeme
         self.default_config ||= {}
         self.default_config[name.to_sym] = default
       end
+
+      def [](name)
+        send(name.to_sym)
+      end
     end
 
     def initialize
diff --git a/spec/codeme/config_spec.rb b/spec/codeme/config_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/codeme/config_spec.rb
+++ b/spec/codeme/config_spec.rb
@@ -43,9 +43,19 @@ RSpec.describe Codeme::Config do
   end
 
   it "support class level instance" do
-    Codeme::Config.register(:apple)
-    expect(subject.accept?(:apple)).to be true
-    Codeme::Config.reset_default!
+    klass = Class.new(Codeme::Config) do
+      register :apple, true
+    end
+    expect(klass.new.accept?(:apple)).to be true
+  end
+
+  it "support class level accessor" do
+    klass = Class.new(Codeme::Config) do
+      register :shared, true
+    end
+    expect(klass[:shared]).to be true
+    klass[:shared] = false
+    expect(klass[:shared]).to be false
   end
 
 end
Add class level accessor for Config