diff --git a/lib/obfuscate_id.rb b/lib/obfuscate_id.rb
index <HASH>..<HASH> 100644
--- a/lib/obfuscate_id.rb
+++ b/lib/obfuscate_id.rb
@@ -1,2 +1,37 @@
 module ObfuscateId
+
+  def obfuscate_id
+    extend ClassMethods 
+    include InstanceMethods
+  end
+
+  def self.hide(id)
+    id.to_i + 100
+  end
+
+  def self.show(id)
+    id.to_i - 100
+  end
+
+  module ClassMethods
+    def find(*args)
+      if has_obfuscated_id?
+        args[0] = ObfuscateId.show(args[0])
+      end
+      super(*args)
+    end
+
+    def has_obfuscated_id?
+      true
+    end
+  end
+
+  module InstanceMethods
+    def to_param
+      ObfuscateId.hide(self.id)
+    end
+
+  end
 end
+
+ActiveRecord::Base.extend ObfuscateId
diff --git a/spec/dummy/app/models/post.rb b/spec/dummy/app/models/post.rb
index <HASH>..<HASH> 100644
--- a/spec/dummy/app/models/post.rb
+++ b/spec/dummy/app/models/post.rb
@@ -1,2 +1,3 @@
 class Post < ActiveRecord::Base
+  obfuscate_id
 end
added methods to update find and to_param and add them to active record - specs pass