diff --git a/.buckconfig b/.buckconfig
new file mode 100644
index 0000000..e69de29
diff --git a/.gitignore b/.gitignore
index 22e5de0..0390d79 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,7 @@ DerivedData
*.perspectivev3
!default.perspectivev3
xcuserdata
+*.DS_Store
## Other
*.xccheckout
@@ -61,3 +62,5 @@ Carthage/Build
fastlane/report.xml
fastlane/screenshots
+.buckd/
+.build_temp/
diff --git a/_layouts/default.html b/_layouts/default.html
deleted file mode 100644
index a6040c6..0000000
--- a/_layouts/default.html
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
- {{ site.title | default: site.github.repository_name }} by {{ site.github.owner_name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {% if site.google_analytics %}
-
- {% endif %}
-
-
\ No newline at end of file
diff --git a/bin/BUCK b/bin/BUCK
new file mode 100644
index 0000000..463c54f
--- /dev/null
+++ b/bin/BUCK
@@ -0,0 +1,7 @@
+prebuilt_apple_framework(
+ name = 'Buffer',
+ framework = 'Buffer.framework',
+ visibility = [
+ 'PUBLIC'
+ ]
+)
\ No newline at end of file
diff --git a/bin/Buffer.framework.dSYM/Contents/Info.plist b/bin/Buffer.framework.dSYM/Contents/Info.plist
new file mode 100644
index 0000000..b2ff64d
--- /dev/null
+++ b/bin/Buffer.framework.dSYM/Contents/Info.plist
@@ -0,0 +1,20 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ com.apple.xcode.dsym.com.s.Buffer
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ dSYM
+ CFBundleSignature
+ ????
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1
+
+
diff --git a/bin/Buffer.framework.dSYM/Contents/Resources/DWARF/Buffer b/bin/Buffer.framework.dSYM/Contents/Resources/DWARF/Buffer
new file mode 100644
index 0000000..9f93536
Binary files /dev/null and b/bin/Buffer.framework.dSYM/Contents/Resources/DWARF/Buffer differ
diff --git a/bin/Buffer.framework/Buffer b/bin/Buffer.framework/Buffer
new file mode 100755
index 0000000..46cb6d6
Binary files /dev/null and b/bin/Buffer.framework/Buffer differ
diff --git a/bin/Buffer.framework/Headers/Buffer-Swift.h b/bin/Buffer.framework/Headers/Buffer-Swift.h
new file mode 100644
index 0000000..b34c1fa
--- /dev/null
+++ b/bin/Buffer.framework/Headers/Buffer-Swift.h
@@ -0,0 +1,139 @@
+// Generated by Apple Swift version 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1)
+#pragma clang diagnostic push
+
+#if defined(__has_include) && __has_include()
+# include
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include
+#include
+#include
+#include
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if defined(__has_include) && __has_include()
+# include
+# elif !defined(__cplusplus) || __cplusplus < 201103L
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+# define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if defined(__has_attribute) && __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if defined(__has_attribute) && __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if defined(__has_attribute) && __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if defined(__has_attribute) && __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if defined(__has_attribute) && __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type
+# if defined(__has_feature) && __has_feature(generalized_swift_name)
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_EXTRA _name : _type
+# else
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if defined(__has_feature) && __has_feature(modules)
+@import UIKit;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+
+@interface UICollectionView (SWIFT_EXTENSION(Buffer))
+@end
+
+
+@interface UICollectionViewCell (SWIFT_EXTENSION(Buffer))
+@end
+
+
+@interface UITableView (SWIFT_EXTENSION(Buffer))
+@end
+
+
+@interface UITableViewCell (SWIFT_EXTENSION(Buffer))
+@end
+
+#pragma clang diagnostic pop
diff --git a/examples/BufferDemo/Buffer.framework/Headers/Buffer.h b/bin/Buffer.framework/Headers/Buffer.h
similarity index 100%
rename from examples/BufferDemo/Buffer.framework/Headers/Buffer.h
rename to bin/Buffer.framework/Headers/Buffer.h
diff --git a/bin/Buffer.framework/Info.plist b/bin/Buffer.framework/Info.plist
new file mode 100644
index 0000000..8eed711
Binary files /dev/null and b/bin/Buffer.framework/Info.plist differ
diff --git a/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm.swiftdoc b/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm.swiftdoc
new file mode 100644
index 0000000..35c8903
Binary files /dev/null and b/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm.swiftdoc differ
diff --git a/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm.swiftmodule b/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm.swiftmodule
new file mode 100644
index 0000000..ecbc490
Binary files /dev/null and b/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm.swiftmodule differ
diff --git a/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm64.swiftdoc b/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm64.swiftdoc
new file mode 100644
index 0000000..539ba05
Binary files /dev/null and b/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm64.swiftdoc differ
diff --git a/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm64.swiftmodule b/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm64.swiftmodule
new file mode 100644
index 0000000..300830e
Binary files /dev/null and b/bin/Buffer.framework/Modules/Buffer.swiftmodule/arm64.swiftmodule differ
diff --git a/bin/Buffer.framework/Modules/Buffer.swiftmodule/i386.swiftdoc b/bin/Buffer.framework/Modules/Buffer.swiftmodule/i386.swiftdoc
new file mode 100644
index 0000000..836e1fd
Binary files /dev/null and b/bin/Buffer.framework/Modules/Buffer.swiftmodule/i386.swiftdoc differ
diff --git a/bin/Buffer.framework/Modules/Buffer.swiftmodule/i386.swiftmodule b/bin/Buffer.framework/Modules/Buffer.swiftmodule/i386.swiftmodule
new file mode 100644
index 0000000..0fe126f
Binary files /dev/null and b/bin/Buffer.framework/Modules/Buffer.swiftmodule/i386.swiftmodule differ
diff --git a/bin/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftdoc b/bin/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftdoc
new file mode 100644
index 0000000..10ee3d3
Binary files /dev/null and b/bin/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftdoc differ
diff --git a/bin/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftmodule b/bin/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftmodule
new file mode 100644
index 0000000..0052d20
Binary files /dev/null and b/bin/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftmodule differ
diff --git a/examples/BufferDemo/Buffer.framework/Modules/module.modulemap b/bin/Buffer.framework/Modules/module.modulemap
similarity index 100%
rename from examples/BufferDemo/Buffer.framework/Modules/module.modulemap
rename to bin/Buffer.framework/Modules/module.modulemap
diff --git a/bin/build.sh b/bin/build.sh
new file mode 100755
index 0000000..4cb8d2c
--- /dev/null
+++ b/bin/build.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+cd bin
+rm -rf *.framework
+rm -rf *.dSYM
+cd ..
+rm -rf .build_temp
+mkdir .build_temp
+cd .build_temp
+echo "github \"alexdrone/Buffer\" \"master\"" >> Cartfile
+carthage update
+mv Carthage/Build/iOS/*.framework ../bin/
+mv Carthage/Build/iOS/*.dSYM ../bin/
+cd ..
+rm -rf .build_temp
+cd bin
diff --git a/examples/BufferDemo.xcodeproj/DemoWorkspace.xcworkspace/contents.xcworkspacedata b/samples/BufferDemo.xcodeproj/DemoWorkspace.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from examples/BufferDemo.xcodeproj/DemoWorkspace.xcworkspace/contents.xcworkspacedata
rename to samples/BufferDemo.xcodeproj/DemoWorkspace.xcworkspace/contents.xcworkspacedata
diff --git a/examples/BufferDemo.xcodeproj/project.pbxproj b/samples/BufferDemo.xcodeproj/project.pbxproj
similarity index 100%
rename from examples/BufferDemo.xcodeproj/project.pbxproj
rename to samples/BufferDemo.xcodeproj/project.pbxproj
diff --git a/examples/BufferDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/samples/BufferDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from examples/BufferDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to samples/BufferDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/examples/BufferDemo/AppDelegate.swift b/samples/BufferDemo/AppDelegate.swift
similarity index 100%
rename from examples/BufferDemo/AppDelegate.swift
rename to samples/BufferDemo/AppDelegate.swift
diff --git a/examples/BufferDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/samples/BufferDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from examples/BufferDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to samples/BufferDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/examples/BufferDemo/Base.lproj/LaunchScreen.storyboard b/samples/BufferDemo/Base.lproj/LaunchScreen.storyboard
similarity index 100%
rename from examples/BufferDemo/Base.lproj/LaunchScreen.storyboard
rename to samples/BufferDemo/Base.lproj/LaunchScreen.storyboard
diff --git a/examples/BufferDemo/Base.lproj/Main.storyboard b/samples/BufferDemo/Base.lproj/Main.storyboard
similarity index 100%
rename from examples/BufferDemo/Base.lproj/Main.storyboard
rename to samples/BufferDemo/Base.lproj/Main.storyboard
diff --git a/examples/BufferDemo/Buffer.framework/Buffer b/samples/BufferDemo/Buffer.framework/Buffer
similarity index 100%
rename from examples/BufferDemo/Buffer.framework/Buffer
rename to samples/BufferDemo/Buffer.framework/Buffer
diff --git a/examples/BufferDemo/Buffer.framework/Headers/Buffer-Swift.h b/samples/BufferDemo/Buffer.framework/Headers/Buffer-Swift.h
similarity index 100%
rename from examples/BufferDemo/Buffer.framework/Headers/Buffer-Swift.h
rename to samples/BufferDemo/Buffer.framework/Headers/Buffer-Swift.h
diff --git a/samples/BufferDemo/Buffer.framework/Headers/Buffer.h b/samples/BufferDemo/Buffer.framework/Headers/Buffer.h
new file mode 100644
index 0000000..bdc15e9
--- /dev/null
+++ b/samples/BufferDemo/Buffer.framework/Headers/Buffer.h
@@ -0,0 +1,19 @@
+//
+// BufferDiff.h
+// BufferDiff
+//
+// Created by Alex Usbergo on 24/05/16.
+// Copyright © 2016 Alex Usbergo. All rights reserved.
+//
+
+#import
+
+//! Project version number for BufferDiff.
+FOUNDATION_EXPORT double BufferDiffVersionNumber;
+
+//! Project version string for BufferDiff.
+FOUNDATION_EXPORT const unsigned char BufferDiffVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
+
diff --git a/examples/BufferDemo/Buffer.framework/Info.plist b/samples/BufferDemo/Buffer.framework/Info.plist
similarity index 100%
rename from examples/BufferDemo/Buffer.framework/Info.plist
rename to samples/BufferDemo/Buffer.framework/Info.plist
diff --git a/examples/BufferDemo/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftdoc b/samples/BufferDemo/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftdoc
similarity index 100%
rename from examples/BufferDemo/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftdoc
rename to samples/BufferDemo/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftdoc
diff --git a/examples/BufferDemo/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftmodule b/samples/BufferDemo/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftmodule
similarity index 100%
rename from examples/BufferDemo/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftmodule
rename to samples/BufferDemo/Buffer.framework/Modules/Buffer.swiftmodule/x86_64.swiftmodule
diff --git a/samples/BufferDemo/Buffer.framework/Modules/module.modulemap b/samples/BufferDemo/Buffer.framework/Modules/module.modulemap
new file mode 100644
index 0000000..a51a1d9
--- /dev/null
+++ b/samples/BufferDemo/Buffer.framework/Modules/module.modulemap
@@ -0,0 +1,10 @@
+framework module Buffer {
+ umbrella header "Buffer.h"
+
+ export *
+ module * { export * }
+}
+
+module Buffer.Swift {
+ header "Buffer-Swift.h"
+}
diff --git a/examples/BufferDemo/Buffer.framework/_CodeSignature/CodeResources b/samples/BufferDemo/Buffer.framework/_CodeSignature/CodeResources
similarity index 100%
rename from examples/BufferDemo/Buffer.framework/_CodeSignature/CodeResources
rename to samples/BufferDemo/Buffer.framework/_CodeSignature/CodeResources
diff --git a/examples/BufferDemo/Info.plist b/samples/BufferDemo/Info.plist
similarity index 100%
rename from examples/BufferDemo/Info.plist
rename to samples/BufferDemo/Info.plist
diff --git a/examples/BufferDemo/Lorem.swift b/samples/BufferDemo/Lorem.swift
similarity index 100%
rename from examples/BufferDemo/Lorem.swift
rename to samples/BufferDemo/Lorem.swift
diff --git a/examples/BufferDemo/ViewController.swift b/samples/BufferDemo/ViewController.swift
similarity index 100%
rename from examples/BufferDemo/ViewController.swift
rename to samples/BufferDemo/ViewController.swift