diff --git a/Masonry.xcodeproj/project.pbxproj b/Masonry.xcodeproj/project.pbxproj
index 2f83836..409e1fa 100644
--- a/Masonry.xcodeproj/project.pbxproj
+++ b/Masonry.xcodeproj/project.pbxproj
@@ -7,12 +7,14 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		81A5AEFE5B9041ABBC74F614 /* libPods-Masonry Mac Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A66D49D177E45D1B8059268 /* libPods-Masonry Mac Tests.a */; };
+		9DAD1ADAED04452C8C32D34E /* libPods-Masonry iOS Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FF61518EB0044E0A00EB62E /* libPods-Masonry iOS Tests.a */; };
 		DD38397E17A5170F00C35C17 /* MASConstraintDelegateMock.m in Sources */ = {isa = PBXBuildFile; fileRef = DD38397D17A5170F00C35C17 /* MASConstraintDelegateMock.m */; };
 		DD52F1AE179CA93B005CD195 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F1AD179CA93B005CD195 /* Foundation.framework */; };
 		DD52F1BD179CA93B005CD195 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F1BC179CA93B005CD195 /* SenTestingKit.framework */; };
 		DD52F1BF179CA93B005CD195 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F1BE179CA93B005CD195 /* UIKit.framework */; };
 		DD52F1C0179CA93B005CD195 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F1AD179CA93B005CD195 /* Foundation.framework */; };
-		DD52F1C3179CA93B005CD195 /* libMasonry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F1AA179CA93B005CD195 /* libMasonry.a */; };
+		DD52F1C3179CA93B005CD195 /* libMasonry iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F1AA179CA93B005CD195 /* libMasonry iOS.a */; };
 		DD52F1C9179CA93B005CD195 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DD52F1C7179CA93B005CD195 /* InfoPlist.strings */; };
 		DD52F1DA179CAA9C005CD195 /* MASCompositeConstraintSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1D8179CAA9C005CD195 /* MASCompositeConstraintSpec.m */; };
 		DD52F1DB179CAA9C005CD195 /* MASViewConstraintSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1D9179CAA9C005CD195 /* MASViewConstraintSpec.m */; };
@@ -20,9 +22,9 @@
 		DD52F1E8179CAACA005CD195 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1E0179CAACA005CD195 /* MASConstraintMaker.m */; };
 		DD52F1E9179CAACA005CD195 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1E2179CAACA005CD195 /* MASViewAttribute.m */; };
 		DD52F1EA179CAACA005CD195 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1E4179CAACA005CD195 /* MASViewConstraint.m */; };
-		DD52F1EB179CAACA005CD195 /* UIView+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1E6179CAACA005CD195 /* UIView+MASAdditions.m */; };
+		DD52F1EB179CAACA005CD195 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1E6179CAACA005CD195 /* View+MASAdditions.m */; };
 		DD52F264179CB327005CD195 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1ED179CAAEE005CD195 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; };
-		DD52F265179CB32B005CD195 /* UIView+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1E5179CAACA005CD195 /* UIView+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DD52F265179CB32B005CD195 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1E5179CAACA005CD195 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		DD52F266179CB33F005CD195 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1DE179CAACA005CD195 /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		DD52F267179CB342005CD195 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1DF179CAACA005CD195 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		DD52F268179CB346005CD195 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1E1179CAACA005CD195 /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -32,8 +34,33 @@
 		DD7CC16F17ACCF22007A469E /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DD7CC16D17ACCF22007A469E /* NSLayoutConstraint+MASDebugAdditions.m */; };
 		DD93AAF317ACB647008F7D21 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = DD93AAF117ACB647008F7D21 /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		DD93AAF417ACB647008F7D21 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = DD93AAF217ACB647008F7D21 /* MASLayoutConstraint.m */; };
-		DDE2653F179D24E600D48565 /* UIView+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DDE2653D179D24E600D48565 /* UIView+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
-		F0D61B353FCC42358F962A3C /* libPods-MasonryTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DE643A835A4447F4807FDBFA /* libPods-MasonryTests.a */; };
+		DDA4D6ED17C0253B0076BD87 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDA4D6EC17C0253B0076BD87 /* Cocoa.framework */; };
+		DDA4D70217C0253B0076BD87 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F1BC179CA93B005CD195 /* SenTestingKit.framework */; };
+		DDA4D70317C0253B0076BD87 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDA4D6EC17C0253B0076BD87 /* Cocoa.framework */; };
+		DDA4D70617C0253B0076BD87 /* Masonry Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDA4D6EB17C0253B0076BD87 /* Masonry Mac.framework */; };
+		DDA4D71617C025930076BD87 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1ED179CAAEE005CD195 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D71717C0259A0076BD87 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1E5179CAACA005CD195 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D71817C025A10076BD87 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1E6179CAACA005CD195 /* View+MASAdditions.m */; };
+		DDA4D71917C025A60076BD87 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DDE2653D179D24E600D48565 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D71A17C025AC0076BD87 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DD7CC16C17ACCF21007A469E /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D71B17C025B20076BD87 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DD7CC16D17ACCF22007A469E /* NSLayoutConstraint+MASDebugAdditions.m */; };
+		DDA4D71C17C025B70076BD87 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1DE179CAACA005CD195 /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D71D17C025BD0076BD87 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1DC179CAACA005CD195 /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D71E17C025C40076BD87 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1DD179CAACA005CD195 /* MASCompositeConstraint.m */; };
+		DDA4D71F17C025C90076BD87 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1DF179CAACA005CD195 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D72017C025D10076BD87 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1E0179CAACA005CD195 /* MASConstraintMaker.m */; };
+		DDA4D72117C025D60076BD87 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1E1179CAACA005CD195 /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D72217C025DD0076BD87 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1E2179CAACA005CD195 /* MASViewAttribute.m */; };
+		DDA4D72317C025E10076BD87 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = DD52F1E3179CAACA005CD195 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D72417C025E70076BD87 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1E4179CAACA005CD195 /* MASViewConstraint.m */; };
+		DDA4D72517C025EC0076BD87 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = DD93AAF117ACB647008F7D21 /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA4D72617C025F30076BD87 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = DD93AAF217ACB647008F7D21 /* MASLayoutConstraint.m */; };
+		DDA4D72717C025FD0076BD87 /* MASCompositeConstraintSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1D8179CAA9C005CD195 /* MASCompositeConstraintSpec.m */; };
+		DDA4D72817C026030076BD87 /* MASViewConstraintSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F1D9179CAA9C005CD195 /* MASViewConstraintSpec.m */; };
+		DDA4D72917C0260C0076BD87 /* MASConstraintDelegateMock.m in Sources */ = {isa = PBXBuildFile; fileRef = DD38397D17A5170F00C35C17 /* MASConstraintDelegateMock.m */; };
+		DDA5752B17C17C3E0010F88E /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = DDA5752917C17C3E0010F88E /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDA5752D17C187D40010F88E /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = DDA5752917C17C3E0010F88E /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		DDE2653F179D24E600D48565 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DDE2653D179D24E600D48565 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -44,6 +71,13 @@
 			remoteGlobalIDString = DD52F1A9179CA93B005CD195;
 			remoteInfo = Masonry;
 		};
+		DDA4D70417C0253B0076BD87 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = DD52F1A2179CA93B005CD195 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = DDA4D6EA17C0253B0076BD87;
+			remoteInfo = "Masonry Mac";
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -59,13 +93,15 @@
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
-		CC61B4599FE44F12AD607E9B /* Pods-MasonryTests.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MasonryTests.xcconfig"; path = "Pods/Pods-MasonryTests.xcconfig"; sourceTree = SOURCE_ROOT; };
+		3FF61518EB0044E0A00EB62E /* libPods-Masonry iOS Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Masonry iOS Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		8A66D49D177E45D1B8059268 /* libPods-Masonry Mac Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Masonry Mac Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		B8646E0425DE4F42A4314C3C /* Pods-Masonry iOS Tests.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Masonry iOS Tests.xcconfig"; path = "Pods/Pods-Masonry iOS Tests.xcconfig"; sourceTree = SOURCE_ROOT; };
 		DD38397C17A5170F00C35C17 /* MASConstraintDelegateMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASConstraintDelegateMock.h; sourceTree = "<group>"; };
 		DD38397D17A5170F00C35C17 /* MASConstraintDelegateMock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASConstraintDelegateMock.m; sourceTree = "<group>"; };
-		DD52F1AA179CA93B005CD195 /* libMasonry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMasonry.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		DD52F1AA179CA93B005CD195 /* libMasonry iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libMasonry iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 		DD52F1AD179CA93B005CD195 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
 		DD52F1B1179CA93B005CD195 /* Masonry-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Masonry-Prefix.pch"; sourceTree = "<group>"; };
-		DD52F1BB179CA93B005CD195 /* MasonryTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MasonryTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
+		DD52F1BB179CA93B005CD195 /* Masonry iOS Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Masonry iOS Tests.octest"; sourceTree = BUILT_PRODUCTS_DIR; };
 		DD52F1BC179CA93B005CD195 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
 		DD52F1BE179CA93B005CD195 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
 		DD52F1C6179CA93B005CD195 /* MasonryTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MasonryTests-Info.plist"; sourceTree = "<group>"; };
@@ -82,15 +118,22 @@
 		DD52F1E2179CAACA005CD195 /* MASViewAttribute.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASViewAttribute.m; sourceTree = "<group>"; };
 		DD52F1E3179CAACA005CD195 /* MASViewConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASViewConstraint.h; sourceTree = "<group>"; };
 		DD52F1E4179CAACA005CD195 /* MASViewConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASViewConstraint.m; sourceTree = "<group>"; };
-		DD52F1E5179CAACA005CD195 /* UIView+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+MASAdditions.h"; sourceTree = "<group>"; };
-		DD52F1E6179CAACA005CD195 /* UIView+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+MASAdditions.m"; sourceTree = "<group>"; };
+		DD52F1E5179CAACA005CD195 /* View+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "View+MASAdditions.h"; sourceTree = "<group>"; };
+		DD52F1E6179CAACA005CD195 /* View+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "View+MASAdditions.m"; sourceTree = "<group>"; };
 		DD52F1ED179CAAEE005CD195 /* Masonry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Masonry.h; sourceTree = "<group>"; };
 		DD7CC16C17ACCF21007A469E /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = "<group>"; };
 		DD7CC16D17ACCF22007A469E /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = "<group>"; };
 		DD93AAF117ACB647008F7D21 /* MASLayoutConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASLayoutConstraint.h; sourceTree = "<group>"; };
 		DD93AAF217ACB647008F7D21 /* MASLayoutConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASLayoutConstraint.m; sourceTree = "<group>"; };
-		DDE2653D179D24E600D48565 /* UIView+MASShorthandAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+MASShorthandAdditions.h"; sourceTree = "<group>"; };
-		DE643A835A4447F4807FDBFA /* libPods-MasonryTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MasonryTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		DDA4D6EB17C0253B0076BD87 /* Masonry Mac.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "Masonry Mac.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
+		DDA4D6EC17C0253B0076BD87 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; };
+		DDA4D6EF17C0253B0076BD87 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
+		DDA4D6F017C0253B0076BD87 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
+		DDA4D6F117C0253B0076BD87 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		DDA4D70117C0253B0076BD87 /* Masonry Mac Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Masonry Mac Tests.octest"; sourceTree = BUILT_PRODUCTS_DIR; };
+		DDA5752917C17C3E0010F88E /* MASUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASUtilities.h; sourceTree = "<group>"; };
+		DDE2653D179D24E600D48565 /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "View+MASShorthandAdditions.h"; sourceTree = "<group>"; };
+		EDE028375B0043E190A00F61 /* Pods-Masonry Mac Tests.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Masonry Mac Tests.xcconfig"; path = "Pods/Pods-Masonry Mac Tests.xcconfig"; sourceTree = SOURCE_ROOT; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -109,8 +152,27 @@
 				DD52F1BD179CA93B005CD195 /* SenTestingKit.framework in Frameworks */,
 				DD52F1BF179CA93B005CD195 /* UIKit.framework in Frameworks */,
 				DD52F1C0179CA93B005CD195 /* Foundation.framework in Frameworks */,
-				DD52F1C3179CA93B005CD195 /* libMasonry.a in Frameworks */,
-				F0D61B353FCC42358F962A3C /* libPods-MasonryTests.a in Frameworks */,
+				DD52F1C3179CA93B005CD195 /* libMasonry iOS.a in Frameworks */,
+				9DAD1ADAED04452C8C32D34E /* libPods-Masonry iOS Tests.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		DDA4D6E717C0253B0076BD87 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				DDA4D6ED17C0253B0076BD87 /* Cocoa.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		DDA4D6FD17C0253B0076BD87 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				DDA4D70217C0253B0076BD87 /* SenTestingKit.framework in Frameworks */,
+				DDA4D70317C0253B0076BD87 /* Cocoa.framework in Frameworks */,
+				DDA4D70617C0253B0076BD87 /* Masonry Mac.framework in Frameworks */,
+				81A5AEFE5B9041ABBC74F614 /* libPods-Masonry Mac Tests.a in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -124,15 +186,18 @@
 				DD52F1C4179CA93B005CD195 /* MasonryTests */,
 				DD52F1AC179CA93B005CD195 /* Frameworks */,
 				DD52F1AB179CA93B005CD195 /* Products */,
-				CC61B4599FE44F12AD607E9B /* Pods-MasonryTests.xcconfig */,
+				EDE028375B0043E190A00F61 /* Pods-Masonry Mac Tests.xcconfig */,
+				B8646E0425DE4F42A4314C3C /* Pods-Masonry iOS Tests.xcconfig */,
 			);
 			sourceTree = "<group>";
 		};
 		DD52F1AB179CA93B005CD195 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				DD52F1AA179CA93B005CD195 /* libMasonry.a */,
-				DD52F1BB179CA93B005CD195 /* MasonryTests.octest */,
+				DD52F1AA179CA93B005CD195 /* libMasonry iOS.a */,
+				DD52F1BB179CA93B005CD195 /* Masonry iOS Tests.octest */,
+				DDA4D6EB17C0253B0076BD87 /* Masonry Mac.framework */,
+				DDA4D70117C0253B0076BD87 /* Masonry Mac Tests.octest */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -143,7 +208,10 @@
 				DD52F1AD179CA93B005CD195 /* Foundation.framework */,
 				DD52F1BC179CA93B005CD195 /* SenTestingKit.framework */,
 				DD52F1BE179CA93B005CD195 /* UIKit.framework */,
-				DE643A835A4447F4807FDBFA /* libPods-MasonryTests.a */,
+				DDA4D6EC17C0253B0076BD87 /* Cocoa.framework */,
+				DDA4D6EE17C0253B0076BD87 /* Other Frameworks */,
+				8A66D49D177E45D1B8059268 /* libPods-Masonry Mac Tests.a */,
+				3FF61518EB0044E0A00EB62E /* libPods-Masonry iOS Tests.a */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -200,9 +268,10 @@
 		DD52F1EC179CAACF005CD195 /* Additions */ = {
 			isa = PBXGroup;
 			children = (
-				DD52F1E5179CAACA005CD195 /* UIView+MASAdditions.h */,
-				DD52F1E6179CAACA005CD195 /* UIView+MASAdditions.m */,
-				DDE2653D179D24E600D48565 /* UIView+MASShorthandAdditions.h */,
+				DDA5752917C17C3E0010F88E /* MASUtilities.h */,
+				DD52F1E5179CAACA005CD195 /* View+MASAdditions.h */,
+				DD52F1E6179CAACA005CD195 /* View+MASAdditions.m */,
+				DDE2653D179D24E600D48565 /* View+MASShorthandAdditions.h */,
 				DD7CC16C17ACCF21007A469E /* NSLayoutConstraint+MASDebugAdditions.h */,
 				DD7CC16D17ACCF22007A469E /* NSLayoutConstraint+MASDebugAdditions.m */,
 			);
@@ -227,6 +296,16 @@
 			name = Modules;
 			sourceTree = "<group>";
 		};
+		DDA4D6EE17C0253B0076BD87 /* Other Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				DDA4D6EF17C0253B0076BD87 /* AppKit.framework */,
+				DDA4D6F017C0253B0076BD87 /* CoreData.framework */,
+				DDA4D6F117C0253B0076BD87 /* Foundation.framework */,
+			);
+			name = "Other Frameworks";
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXHeadersBuildPhase section */
@@ -235,8 +314,8 @@
 			buildActionMask = 2147483647;
 			files = (
 				DD52F264179CB327005CD195 /* Masonry.h in Headers */,
-				DD52F265179CB32B005CD195 /* UIView+MASAdditions.h in Headers */,
-				DDE2653F179D24E600D48565 /* UIView+MASShorthandAdditions.h in Headers */,
+				DD52F265179CB32B005CD195 /* View+MASAdditions.h in Headers */,
+				DDE2653F179D24E600D48565 /* View+MASShorthandAdditions.h in Headers */,
 				DD52F266179CB33F005CD195 /* MASConstraint.h in Headers */,
 				DD52F267179CB342005CD195 /* MASConstraintMaker.h in Headers */,
 				DD52F268179CB346005CD195 /* MASViewAttribute.h in Headers */,
@@ -244,15 +323,34 @@
 				DD93AAF317ACB647008F7D21 /* MASLayoutConstraint.h in Headers */,
 				DD52F26A179CB365005CD195 /* MASCompositeConstraint.h in Headers */,
 				DD7CC16E17ACCF22007A469E /* NSLayoutConstraint+MASDebugAdditions.h in Headers */,
+				DDA5752B17C17C3E0010F88E /* MASUtilities.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		DDA4D6E817C0253B0076BD87 /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				DDA4D71617C025930076BD87 /* Masonry.h in Headers */,
+				DDA4D71717C0259A0076BD87 /* View+MASAdditions.h in Headers */,
+				DDA4D71917C025A60076BD87 /* View+MASShorthandAdditions.h in Headers */,
+				DDA4D71A17C025AC0076BD87 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */,
+				DDA4D71C17C025B70076BD87 /* MASConstraint.h in Headers */,
+				DDA4D71D17C025BD0076BD87 /* MASCompositeConstraint.h in Headers */,
+				DDA4D71F17C025C90076BD87 /* MASConstraintMaker.h in Headers */,
+				DDA4D72117C025D60076BD87 /* MASViewAttribute.h in Headers */,
+				DDA4D72317C025E10076BD87 /* MASViewConstraint.h in Headers */,
+				DDA4D72517C025EC0076BD87 /* MASLayoutConstraint.h in Headers */,
+				DDA5752D17C187D40010F88E /* MASUtilities.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXHeadersBuildPhase section */
 
 /* Begin PBXNativeTarget section */
-		DD52F1A9179CA93B005CD195 /* Masonry */ = {
+		DD52F1A9179CA93B005CD195 /* Masonry iOS */ = {
 			isa = PBXNativeTarget;
-			buildConfigurationList = DD52F1CF179CA93B005CD195 /* Build configuration list for PBXNativeTarget "Masonry" */;
+			buildConfigurationList = DD52F1CF179CA93B005CD195 /* Build configuration list for PBXNativeTarget "Masonry iOS" */;
 			buildPhases = (
 				DD52F1A6179CA93B005CD195 /* Sources */,
 				DD52F1A7179CA93B005CD195 /* Frameworks */,
@@ -263,14 +361,14 @@
 			);
 			dependencies = (
 			);
-			name = Masonry;
+			name = "Masonry iOS";
 			productName = Masonry;
-			productReference = DD52F1AA179CA93B005CD195 /* libMasonry.a */;
+			productReference = DD52F1AA179CA93B005CD195 /* libMasonry iOS.a */;
 			productType = "com.apple.product-type.library.static";
 		};
-		DD52F1BA179CA93B005CD195 /* MasonryTests */ = {
+		DD52F1BA179CA93B005CD195 /* Masonry iOS Tests */ = {
 			isa = PBXNativeTarget;
-			buildConfigurationList = DD52F1D2179CA93B005CD195 /* Build configuration list for PBXNativeTarget "MasonryTests" */;
+			buildConfigurationList = DD52F1D2179CA93B005CD195 /* Build configuration list for PBXNativeTarget "Masonry iOS Tests" */;
 			buildPhases = (
 				AC8F7DDB52CD41F48C935F77 /* Check Pods Manifest.lock */,
 				DD52F1B6179CA93B005CD195 /* Sources */,
@@ -284,9 +382,48 @@
 			dependencies = (
 				DD52F1C2179CA93B005CD195 /* PBXTargetDependency */,
 			);
-			name = MasonryTests;
+			name = "Masonry iOS Tests";
 			productName = MasonryTests;
-			productReference = DD52F1BB179CA93B005CD195 /* MasonryTests.octest */;
+			productReference = DD52F1BB179CA93B005CD195 /* Masonry iOS Tests.octest */;
+			productType = "com.apple.product-type.bundle";
+		};
+		DDA4D6EA17C0253B0076BD87 /* Masonry Mac */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = DDA4D71017C0253B0076BD87 /* Build configuration list for PBXNativeTarget "Masonry Mac" */;
+			buildPhases = (
+				DDA4D6E617C0253B0076BD87 /* Sources */,
+				DDA4D6E717C0253B0076BD87 /* Frameworks */,
+				DDA4D6E817C0253B0076BD87 /* Headers */,
+				DDA4D6E917C0253B0076BD87 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = "Masonry Mac";
+			productName = "Masonry Mac";
+			productReference = DDA4D6EB17C0253B0076BD87 /* Masonry Mac.framework */;
+			productType = "com.apple.product-type.framework";
+		};
+		DDA4D70017C0253B0076BD87 /* Masonry Mac Tests */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = DDA4D71317C0253B0076BD87 /* Build configuration list for PBXNativeTarget "Masonry Mac Tests" */;
+			buildPhases = (
+				5EFAE0A2C6C547BC9591AF14 /* Check Pods Manifest.lock */,
+				DDA4D6FC17C0253B0076BD87 /* Sources */,
+				DDA4D6FD17C0253B0076BD87 /* Frameworks */,
+				DDA4D6FE17C0253B0076BD87 /* Resources */,
+				DDA4D6FF17C0253B0076BD87 /* ShellScript */,
+				25CA4CCBF108463B9DF9B519 /* Copy Pods Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				DDA4D70517C0253B0076BD87 /* PBXTargetDependency */,
+			);
+			name = "Masonry Mac Tests";
+			productName = "Masonry MacTests";
+			productReference = DDA4D70117C0253B0076BD87 /* Masonry Mac Tests.octest */;
 			productType = "com.apple.product-type.bundle";
 		};
 /* End PBXNativeTarget section */
@@ -310,8 +447,10 @@
 			projectDirPath = "";
 			projectRoot = "";
 			targets = (
-				DD52F1A9179CA93B005CD195 /* Masonry */,
-				DD52F1BA179CA93B005CD195 /* MasonryTests */,
+				DD52F1A9179CA93B005CD195 /* Masonry iOS */,
+				DD52F1BA179CA93B005CD195 /* Masonry iOS Tests */,
+				DDA4D6EA17C0253B0076BD87 /* Masonry Mac */,
+				DDA4D70017C0253B0076BD87 /* Masonry Mac Tests */,
 			);
 		};
 /* End PBXProject section */
@@ -325,9 +464,38 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		DDA4D6E917C0253B0076BD87 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		DDA4D6FE17C0253B0076BD87 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
+		25CA4CCBF108463B9DF9B519 /* Copy Pods Resources */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Copy Pods Resources";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${SRCROOT}/Pods/Pods-Masonry Mac Tests-resources.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
 		4FA4ADCF00674C1E96148528 /* Copy Pods Resources */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -340,7 +508,23 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Pods-MasonryTests-resources.sh\"\n";
+			shellScript = "\"${SRCROOT}/Pods/Pods-Masonry iOS Tests-resources.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
+		5EFAE0A2C6C547BC9591AF14 /* Check Pods Manifest.lock */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Check Pods Manifest.lock";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n    cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n    exit 1\nfi\n";
+			showEnvVarsInLog = 0;
 		};
 		AC8F7DDB52CD41F48C935F77 /* Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -369,6 +553,19 @@
 			shellPath = /bin/sh;
 			shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
 		};
+		DDA4D6FF17C0253B0076BD87 /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
+		};
 /* End PBXShellScriptBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
@@ -380,7 +577,7 @@
 				DD52F1E8179CAACA005CD195 /* MASConstraintMaker.m in Sources */,
 				DD52F1E9179CAACA005CD195 /* MASViewAttribute.m in Sources */,
 				DD52F1EA179CAACA005CD195 /* MASViewConstraint.m in Sources */,
-				DD52F1EB179CAACA005CD195 /* UIView+MASAdditions.m in Sources */,
+				DD52F1EB179CAACA005CD195 /* View+MASAdditions.m in Sources */,
 				DD93AAF417ACB647008F7D21 /* MASLayoutConstraint.m in Sources */,
 				DD7CC16F17ACCF22007A469E /* NSLayoutConstraint+MASDebugAdditions.m in Sources */,
 			);
@@ -396,14 +593,43 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		DDA4D6E617C0253B0076BD87 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				DDA4D71817C025A10076BD87 /* View+MASAdditions.m in Sources */,
+				DDA4D71B17C025B20076BD87 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */,
+				DDA4D71E17C025C40076BD87 /* MASCompositeConstraint.m in Sources */,
+				DDA4D72017C025D10076BD87 /* MASConstraintMaker.m in Sources */,
+				DDA4D72217C025DD0076BD87 /* MASViewAttribute.m in Sources */,
+				DDA4D72417C025E70076BD87 /* MASViewConstraint.m in Sources */,
+				DDA4D72617C025F30076BD87 /* MASLayoutConstraint.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		DDA4D6FC17C0253B0076BD87 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				DDA4D72717C025FD0076BD87 /* MASCompositeConstraintSpec.m in Sources */,
+				DDA4D72817C026030076BD87 /* MASViewConstraintSpec.m in Sources */,
+				DDA4D72917C0260C0076BD87 /* MASConstraintDelegateMock.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXSourcesBuildPhase section */
 
 /* Begin PBXTargetDependency section */
 		DD52F1C2179CA93B005CD195 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			target = DD52F1A9179CA93B005CD195 /* Masonry */;
+			target = DD52F1A9179CA93B005CD195 /* Masonry iOS */;
 			targetProxy = DD52F1C1179CA93B005CD195 /* PBXContainerItemProxy */;
 		};
+		DDA4D70517C0253B0076BD87 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = DDA4D6EA17C0253B0076BD87 /* Masonry Mac */;
+			targetProxy = DDA4D70417C0253B0076BD87 /* PBXContainerItemProxy */;
+		};
 /* End PBXTargetDependency section */
 
 /* Begin PBXVariantGroup section */
@@ -489,7 +715,6 @@
 				OTHER_LDFLAGS = "-ObjC";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SKIP_INSTALL = YES;
-				VALID_ARCHS = "armv7 armv7s i386 x86_64";
 			};
 			name = Debug;
 		};
@@ -503,13 +728,12 @@
 				OTHER_LDFLAGS = "-ObjC";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SKIP_INSTALL = YES;
-				VALID_ARCHS = "armv7 armv7s i386 x86_64";
 			};
 			name = Release;
 		};
 		DD52F1D3179CA93B005CD195 /* Debug */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = CC61B4599FE44F12AD607E9B /* Pods-MasonryTests.xcconfig */;
+			baseConfigurationReference = B8646E0425DE4F42A4314C3C /* Pods-Masonry iOS Tests.xcconfig */;
 			buildSettings = {
 				FRAMEWORK_SEARCH_PATHS = (
 					"\"$(SDKROOT)/Developer/Library/Frameworks\"",
@@ -526,7 +750,7 @@
 		};
 		DD52F1D4179CA93B005CD195 /* Release */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = CC61B4599FE44F12AD607E9B /* Pods-MasonryTests.xcconfig */;
+			baseConfigurationReference = B8646E0425DE4F42A4314C3C /* Pods-Masonry iOS Tests.xcconfig */;
 			buildSettings = {
 				FRAMEWORK_SEARCH_PATHS = (
 					"\"$(SDKROOT)/Developer/Library/Frameworks\"",
@@ -541,6 +765,106 @@
 			};
 			name = Release;
 		};
+		DDA4D71117C0253B0076BD87 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				COMBINE_HIDPI_IMAGES = YES;
+				DYLIB_COMPATIBILITY_VERSION = 1;
+				DYLIB_CURRENT_VERSION = 1;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
+				);
+				FRAMEWORK_VERSION = A;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "Masonry/Masonry-Prefix.pch";
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				ONLY_ACTIVE_ARCH = NO;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx10.8;
+				VALID_ARCHS = "x86_64 i386";
+				WRAPPER_EXTENSION = framework;
+			};
+			name = Debug;
+		};
+		DDA4D71217C0253B0076BD87 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				COMBINE_HIDPI_IMAGES = YES;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				DYLIB_COMPATIBILITY_VERSION = 1;
+				DYLIB_CURRENT_VERSION = 1;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
+				);
+				FRAMEWORK_VERSION = A;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "Masonry/Masonry-Prefix.pch";
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				ONLY_ACTIVE_ARCH = NO;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx10.8;
+				VALID_ARCHS = "x86_64 i386";
+				WRAPPER_EXTENSION = framework;
+			};
+			name = Release;
+		};
+		DDA4D71417C0253B0076BD87 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = EDE028375B0043E190A00F61 /* Pods-Masonry Mac Tests.xcconfig */;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				COMBINE_HIDPI_IMAGES = YES;
+				FRAMEWORK_SEARCH_PATHS = (
+					"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
+					"$(inherited)",
+				);
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "MasonryTests/MasonryTests-Prefix.pch";
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				INFOPLIST_FILE = "MasonryTests/MasonryTests-Info.plist";
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				ONLY_ACTIVE_ARCH = NO;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx10.8;
+				VALID_ARCHS = "x86_64 i386";
+				WRAPPER_EXTENSION = octest;
+			};
+			name = Debug;
+		};
+		DDA4D71517C0253B0076BD87 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = EDE028375B0043E190A00F61 /* Pods-Masonry Mac Tests.xcconfig */;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				COMBINE_HIDPI_IMAGES = YES;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				FRAMEWORK_SEARCH_PATHS = (
+					"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
+					"$(inherited)",
+				);
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "MasonryTests/MasonryTests-Prefix.pch";
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				INFOPLIST_FILE = "MasonryTests/MasonryTests-Info.plist";
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				ONLY_ACTIVE_ARCH = NO;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx10.8;
+				VALID_ARCHS = "x86_64 i386";
+				WRAPPER_EXTENSION = octest;
+			};
+			name = Release;
+		};
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
@@ -553,7 +877,7 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		DD52F1CF179CA93B005CD195 /* Build configuration list for PBXNativeTarget "Masonry" */ = {
+		DD52F1CF179CA93B005CD195 /* Build configuration list for PBXNativeTarget "Masonry iOS" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
 				DD52F1D0179CA93B005CD195 /* Debug */,
@@ -562,7 +886,7 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		DD52F1D2179CA93B005CD195 /* Build configuration list for PBXNativeTarget "MasonryTests" */ = {
+		DD52F1D2179CA93B005CD195 /* Build configuration list for PBXNativeTarget "Masonry iOS Tests" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
 				DD52F1D3179CA93B005CD195 /* Debug */,
@@ -571,6 +895,24 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		DDA4D71017C0253B0076BD87 /* Build configuration list for PBXNativeTarget "Masonry Mac" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				DDA4D71117C0253B0076BD87 /* Debug */,
+				DDA4D71217C0253B0076BD87 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		DDA4D71317C0253B0076BD87 /* Build configuration list for PBXNativeTarget "Masonry Mac Tests" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				DDA4D71417C0253B0076BD87 /* Debug */,
+				DDA4D71517C0253B0076BD87 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = DD52F1A2179CA93B005CD195 /* Project object */;
diff --git a/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry Mac.xcscheme b/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry Mac.xcscheme
new file mode 100644
index 0000000..bbbece4
--- /dev/null
+++ b/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry Mac.xcscheme
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "DDA4D6EA17C0253B0076BD87"
+               BuildableName = "Masonry Mac.framework"
+               BlueprintName = "Masonry Mac"
+               ReferencedContainer = "container:Masonry.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+         <TestableReference
+            skipped = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "DDA4D70017C0253B0076BD87"
+               BuildableName = "Masonry Mac Tests.octest"
+               BlueprintName = "Masonry Mac Tests"
+               ReferencedContainer = "container:Masonry.xcodeproj">
+            </BuildableReference>
+         </TestableReference>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
diff --git a/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry.xcscheme b/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry iOS.xcscheme
index 0c78c49..0295251 100644
--- a/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry.xcscheme
+++ b/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry iOS.xcscheme
@@ -29,8 +29,8 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BlueprintIdentifier = "DD52F1A9179CA93B005CD195"
-               BuildableName = "libMasonry.a"
-               BlueprintName = "Masonry"
+               BuildableName = "libMasonry iOS.a"
+               BlueprintName = "Masonry iOS"
                ReferencedContainer = "container:Masonry.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
@@ -47,8 +47,8 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BlueprintIdentifier = "DD52F1BA179CA93B005CD195"
-               BuildableName = "MasonryTests.octest"
-               BlueprintName = "MasonryTests"
+               BuildableName = "Masonry iOS Tests.octest"
+               BlueprintName = "Masonry iOS Tests"
                ReferencedContainer = "container:Masonry.xcodeproj">
             </BuildableReference>
          </TestableReference>
diff --git a/Masonry.xcworkspace/contents.xcworkspacedata b/Masonry.xcworkspace/contents.xcworkspacedata
index 657f7b0..28ebe7f 100644
--- a/Masonry.xcworkspace/contents.xcworkspacedata
+++ b/Masonry.xcworkspace/contents.xcworkspacedata
@@ -5,7 +5,7 @@
       location = "group:Masonry.xcodeproj">
    </FileRef>
    <FileRef
-      location = "group:MasonryExamples/MasonryExamples.xcodeproj">
+      location = "group:MasonryExamples/Masonry iOS Examples.xcodeproj">
    </FileRef>
    <FileRef
       location = "group:Pods/Pods.xcodeproj">
diff --git a/Masonry/MASCompositeConstraint.h b/Masonry/MASCompositeConstraint.h
index 03203e5..36c9ce3 100644
--- a/Masonry/MASCompositeConstraint.h
+++ b/Masonry/MASCompositeConstraint.h
@@ -6,8 +6,8 @@
 //  Copyright (c) 2013 cloudling. All rights reserved.
 //
 
-#import <UIKit/UIKit.h>
 #import "MASConstraint.h"
+#import "MASUtilities.h"
 
 typedef NS_ENUM(NSInteger, MASCompositeConstraintType) {
     MASCompositeConstraintTypeEdges, //top, left, bottom, right
@@ -25,7 +25,7 @@ typedef NS_ENUM(NSInteger, MASCompositeConstraintType) {
 /**
  *	default first item for any child MASConstraints
  */
-@property (nonatomic, weak, readonly) UIView *view;
+@property (nonatomic, weak, readonly) MAS_VIEW *view;
 
 /**
  *	type of Composite, used internally to generate child MASViewConstraits
@@ -41,7 +41,7 @@ typedef NS_ENUM(NSInteger, MASCompositeConstraintType) {
  *
  *	@return	a composite constraint
  */
-- (id)initWithView:(UIView *)view type:(MASCompositeConstraintType)type;
+- (id)initWithView:(MAS_VIEW *)view type:(MASCompositeConstraintType)type;
 
 /**
  *	Creates a composite with a predefined array of children
@@ -51,6 +51,6 @@ typedef NS_ENUM(NSInteger, MASCompositeConstraintType) {
  *
  *	@return	a composite constraint
  */
-- (id)initWithView:(UIView *)view children:(NSArray *)children;
+- (id)initWithView:(MAS_VIEW *)view children:(NSArray *)children;
 
 @end
diff --git a/Masonry/MASCompositeConstraint.m b/Masonry/MASCompositeConstraint.m
index 1a5e896..a61e4fb 100644
--- a/Masonry/MASCompositeConstraint.m
+++ b/Masonry/MASCompositeConstraint.m
@@ -7,7 +7,7 @@
 //
 
 #import "MASCompositeConstraint.h"
-#import "UIView+MASAdditions.h"
+#import "View+MASAdditions.h"
 #import "MASViewConstraint.h"
 
 @interface MASCompositeConstraint () <MASConstraintDelegate>
@@ -21,7 +21,7 @@
 
 @synthesize delegate = _delegate;
 
-- (id)initWithView:(UIView *)view type:(MASCompositeConstraintType)type {
+- (id)initWithView:(MAS_VIEW *)view type:(MASCompositeConstraintType)type {
     self = [super init];
     if (!self) return nil;
     
@@ -33,7 +33,7 @@
     return self;
 }
 
-- (id)initWithView:(UIView *)view children:(NSArray *)children {
+- (id)initWithView:(MAS_VIEW *)view children:(NSArray *)children {
     self = [super init];
     if (!self) return nil;
 
@@ -82,15 +82,15 @@
 #pragma mark - MASConstraintDelegate
 
 - (void)constraint:(id<MASConstraint>)constraint shouldBeReplacedWithConstraint:(id<MASConstraint>)replacementConstraint {
-    int index = [self.childConstraints indexOfObject:constraint];
+    NSUInteger index = [self.childConstraints indexOfObject:constraint];
     NSAssert(index != NSNotFound, @"Could not find constraint %@", constraint);
     [self.childConstraints replaceObjectAtIndex:index withObject:replacementConstraint];
 }
 
 #pragma mark - NSLayoutConstraint constant proxies
 
-- (id<MASConstraint> (^)(UIEdgeInsets))insets {
-    return ^id(UIEdgeInsets insets) {
+- (id<MASConstraint> (^)(MASEdgeInsets))insets {
+    return ^id(MASEdgeInsets insets) {
         for (id<MASConstraint> constraint in self.childConstraints) {
             constraint.insets(insets);
         }
diff --git a/Masonry/MASConstraint.h b/Masonry/MASConstraint.h
index 15fb659..cc58372 100644
--- a/Masonry/MASConstraint.h
+++ b/Masonry/MASConstraint.h
@@ -6,16 +6,7 @@
 //  Copyright (c) 2013 cloudling. All rights reserved.
 //
 
-#import <UIKit/UIKit.h>
-
-enum {
-    MASLayoutPriorityRequired = UILayoutPriorityRequired,
-    MASLayoutPriorityDefaultHigh = UILayoutPriorityDefaultHigh,
-    MASLayoutPriorityDefaultMedium = 500,
-    MASLayoutPriorityDefaultLow = UILayoutPriorityDefaultLow,
-    MASLayoutPriorityFittingSizeLevel = UILayoutPriorityFittingSizeLevel,
-};
-typedef float MASLayoutPriority;
+#import "MASUtilities.h"
 
 @protocol MASConstraintDelegate;
 
@@ -36,7 +27,7 @@ typedef float MASLayoutPriority;
  *  only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following 
  *  NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight
  */
-@property (nonatomic, copy, readonly) id<MASConstraint> (^insets)(UIEdgeInsets insets);
+@property (nonatomic, copy, readonly) id<MASConstraint> (^insets)(MASEdgeInsets insets);
 
 /**
  *	Modifies the NSLayoutConstraint constant,
diff --git a/Masonry/MASConstraintMaker.h b/Masonry/MASConstraintMaker.h
index 3da3d17..f0370e3 100644
--- a/Masonry/MASConstraintMaker.h
+++ b/Masonry/MASConstraintMaker.h
@@ -6,8 +6,8 @@
 //  Copyright (c) 2013 cloudling. All rights reserved.
 //
 
-#import <UIKit/UIKit.h>
 #import "MASConstraint.h"
+#import "MASUtilities.h"
 
 @interface MASConstraintMaker : NSObject
 
@@ -55,7 +55,7 @@
  *
  *	@return	a new MASConstraintMaker
  */
-- (id)initWithView:(UIView *)view;
+- (id)initWithView:(MAS_VIEW *)view;
 
 /**
  *	Calls commit method on any MASConstraints which requested to be added view MASConstraintDelegate
diff --git a/Masonry/MASConstraintMaker.m b/Masonry/MASConstraintMaker.m
index 7d9c826..cac3b2a 100644
--- a/Masonry/MASConstraintMaker.m
+++ b/Masonry/MASConstraintMaker.m
@@ -13,14 +13,14 @@
 
 @interface MASConstraintMaker () <MASConstraintDelegate>
 
-@property (nonatomic, weak) UIView *view;
+@property (nonatomic, weak) MAS_VIEW *view;
 @property (nonatomic, strong) NSMutableArray *constraints;
 
 @end
 
 @implementation MASConstraintMaker
 
-- (id)initWithView:(UIView *)view {
+- (id)initWithView:(MAS_VIEW *)view {
     self = [super init];
     if (!self) return nil;
     
@@ -40,7 +40,7 @@
 #pragma mark - MASConstraintDelegate
 
 - (void)constraint:(id<MASConstraint>)constraint shouldBeReplacedWithConstraint:(id<MASConstraint>)replacementConstraint {
-    int index = [self.constraints indexOfObject:constraint];
+    NSUInteger index = [self.constraints indexOfObject:constraint];
     NSAssert(index != NSNotFound, @"Could not find constraint %@", constraint);
     [self.constraints replaceObjectAtIndex:index withObject:replacementConstraint];
 }
diff --git a/Masonry/MASLayoutConstraint.h b/Masonry/MASLayoutConstraint.h
index 4592f7b..bd4896f 100644
--- a/Masonry/MASLayoutConstraint.h
+++ b/Masonry/MASLayoutConstraint.h
@@ -6,8 +6,7 @@
 //  Copyright (c) 2013 Jonas Budelmann. All rights reserved.
 //
 
-#import <UIKit/UIKit.h>
-
+#import "MASUtilities.h"
 /**
  *	When you are debugging or printing the constraints attached to a view this subclass
  *  makes it easier to identify which constraints have been created via Masonry
diff --git a/Masonry/MASUtilities.h b/Masonry/MASUtilities.h
new file mode 100644
index 0000000..c9b1bcf
--- /dev/null
+++ b/Masonry/MASUtilities.h
@@ -0,0 +1,60 @@
+//
+//  MASUtilities.h
+//  Masonry
+//
+//  Created by Jonas Budelmann on 19/08/13.
+//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.
+//
+
+#if TARGET_OS_IPHONE
+
+    #import <UIKit/UIKit.h>
+    #define MAS_VIEW UIView
+    #define MASEdgeInsets UIEdgeInsets
+
+    enum {
+        MASLayoutPriorityRequired = UILayoutPriorityRequired,
+        MASLayoutPriorityDefaultHigh = UILayoutPriorityDefaultHigh,
+        MASLayoutPriorityDefaultMedium = 500,
+        MASLayoutPriorityDefaultLow = UILayoutPriorityDefaultLow,
+        MASLayoutPriorityFittingSizeLevel = UILayoutPriorityFittingSizeLevel,
+    };
+    typedef float MASLayoutPriority;
+
+#elif TARGET_OS_MAC
+
+    #import <AppKit/AppKit.h>
+    #define MAS_VIEW NSView
+    #define MASEdgeInsets NSEdgeInsets
+
+    enum {
+        MASLayoutPriorityRequired = NSLayoutPriorityRequired,
+        MASLayoutPriorityDefaultHigh = NSLayoutPriorityDefaultHigh,
+        MASLayoutPriorityDragThatCanResizeWindow = NSLayoutPriorityDragThatCanResizeWindow,
+        MASLayoutPriorityDefaultMedium = 501,
+        MASLayoutPriorityWindowSizeStayPut = NSLayoutPriorityWindowSizeStayPut,
+        MASLayoutPriorityDragThatCannotResizeWindow = NSLayoutPriorityDragThatCannotResizeWindow,
+        MASLayoutPriorityDefaultLow = NSLayoutPriorityDefaultLow,
+        MASLayoutPriorityFittingSizeCompression = NSLayoutPriorityFittingSizeCompression,
+    };
+    typedef float MASLayoutPriority;
+
+#endif
+
+/**
+ *	Allows you to attach keys to objects matching the variable names passed.
+ *
+ *  view1.mas_key = @"view1", view2.mas_key = @"view2";
+ *
+ *  is equivalent to:
+ *
+ *  MASAttachKeys(view1, view2);
+ */
+#define MASAttachKeys(...)                                                    \
+    NSDictionary *keyPairs = NSDictionaryOfVariableBindings(__VA_ARGS__);     \
+    for (id key in keyPairs.allKeys) {                                        \
+        id obj = keyPairs[key];                                               \
+        NSAssert([obj respondsToSelector:@selector(setMas_key:)],             \
+                 @"Cannot attach mas_key to %@", obj);                        \
+        [obj setMas_key:key];                                                 \
+    }
diff --git a/Masonry/MASViewAttribute.h b/Masonry/MASViewAttribute.h
index d078d18..f43ffa8 100644
--- a/Masonry/MASViewAttribute.h
+++ b/Masonry/MASViewAttribute.h
@@ -6,14 +6,14 @@
 //  Copyright (c) 2013 cloudling. All rights reserved.
 //
 
-#import <UIKit/UIKit.h>
+#import "MASUtilities.h"
 
 @interface MASViewAttribute : NSObject
 
-@property (nonatomic, weak, readonly) UIView *view;
+@property (nonatomic, weak, readonly) MAS_VIEW *view;
 @property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute;
 
-- (id)initWithView:(UIView *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute;
+- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute;
 
 /**
  *	Determine whether the layoutAttribute is a size attribute
diff --git a/Masonry/MASViewAttribute.m b/Masonry/MASViewAttribute.m
index d0c6a0f..ffde7ed 100644
--- a/Masonry/MASViewAttribute.m
+++ b/Masonry/MASViewAttribute.m
@@ -10,7 +10,7 @@
 
 @implementation MASViewAttribute
 
-- (id)initWithView:(UIView *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute {
+- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute {
     self = [super init];
     if (!self) return nil;
     
diff --git a/Masonry/MASViewConstraint.m b/Masonry/MASViewConstraint.m
index 3d360bb..e955010 100644
--- a/Masonry/MASViewConstraint.m
+++ b/Masonry/MASViewConstraint.m
@@ -9,12 +9,13 @@
 #import "MASViewConstraint.h"
 #import "MASCompositeConstraint.h"
 #import "MASLayoutConstraint.h"
+#import "View+MASAdditions.h"
 
 @interface MASViewConstraint ()
 
 @property (nonatomic, strong, readwrite) MASViewAttribute *secondViewAttribute;
 @property (nonatomic, strong, readwrite) MASLayoutConstraint *layoutConstraint;
-@property (nonatomic, weak) UIView *installedView;
+@property (nonatomic, weak) MAS_VIEW *installedView;
 @property (nonatomic, assign) NSLayoutRelation layoutRelation;
 @property (nonatomic, assign) MASLayoutPriority layoutPriority;
 @property (nonatomic, assign) CGFloat layoutMultiplier;
@@ -70,7 +71,7 @@
 - (void)setSecondViewAttribute:(id)secondViewAttribute {
     if ([secondViewAttribute isKindOfClass:NSNumber.class]) {
         self.layoutConstant = [secondViewAttribute doubleValue];
-    }  else if ([secondViewAttribute isKindOfClass:UIView.class]) {
+    }  else if ([secondViewAttribute isKindOfClass:MAS_VIEW.class]) {
         _secondViewAttribute = [[MASViewAttribute alloc] initWithView:secondViewAttribute layoutAttribute:self.firstViewAttribute.layoutAttribute];
     } else if ([secondViewAttribute isKindOfClass:MASViewAttribute.class]) {
         _secondViewAttribute = secondViewAttribute;
@@ -81,8 +82,8 @@
 
 #pragma mark - NSLayoutConstraint constant proxies
 
-- (id<MASConstraint> (^)(UIEdgeInsets))insets {
-    return ^id(UIEdgeInsets insets){
+- (id<MASConstraint> (^)(MASEdgeInsets))insets {
+    return ^id(MASEdgeInsets insets){
         NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute;
         switch (layoutAttribute) {
             case NSLayoutAttributeLeft:
@@ -246,9 +247,9 @@
 - (void)install {
     NSAssert(!self.hasBeenInstalled, @"Cannot install constraint more than once");
     
-    UIView *firstLayoutItem = self.firstViewAttribute.view;
+    MAS_VIEW *firstLayoutItem = self.firstViewAttribute.view;
     NSLayoutAttribute firstLayoutAttribute = self.firstViewAttribute.layoutAttribute;
-    UIView *secondLayoutItem = self.secondViewAttribute.view;
+    MAS_VIEW *secondLayoutItem = self.secondViewAttribute.view;
     NSLayoutAttribute secondLayoutAttribute = self.secondViewAttribute.layoutAttribute;
     if (!self.firstViewAttribute.isSizeAttribute && !self.secondViewAttribute) {
         secondLayoutItem = firstLayoutItem.superview;
@@ -268,19 +269,7 @@
     self.layoutConstraint.mas_key = self.mas_key;
     
     if (secondLayoutItem) {
-        UIView *closestCommonSuperview = nil;
-        
-        UIView *secondViewSuperview = secondLayoutItem;
-        while (!closestCommonSuperview && secondViewSuperview) {
-            UIView *firstViewSuperview = firstLayoutItem;
-            while (!closestCommonSuperview && firstViewSuperview) {
-                if (secondViewSuperview == firstViewSuperview) {
-                    closestCommonSuperview = secondViewSuperview;
-                }
-                firstViewSuperview = firstViewSuperview.superview;
-            }
-            secondViewSuperview = secondViewSuperview.superview;
-        }
+        MAS_VIEW *closestCommonSuperview = [firstLayoutItem mas_closestCommonSuperview:secondLayoutItem];
         NSAssert(closestCommonSuperview,
                  @"couldn't find a common superview for %@ and %@",
                  firstLayoutItem,
diff --git a/Masonry/Masonry-Prefix.pch b/Masonry/Masonry-Prefix.pch
index f2ccbcb..110a6e4 100644
--- a/Masonry/Masonry-Prefix.pch
+++ b/Masonry/Masonry-Prefix.pch
@@ -1,14 +1,28 @@
 //
-// Prefix header for all source files of the 'Masonry' target in the 'Masonry' project
+// Prefix header for all source files of the 'Masonry iOS/Mac' target in the 'Masonry' project
 //
 
-#import <Availability.h>
+#include <Availability.h>
+
+#if TARGET_OS_IPHONE
+
+    #ifndef __IPHONE_6_0
+        #error "This project uses features only available in iOS SDK 6.0 and later."
+    #endif
+
+    #import <UIKit/UIKit.h>
+
+#elif TARGET_OS_MAC
+
+    #ifndef __MAC_10_7
+        #error "This project uses features only available in Mac OS X 10.7 and later"
+    #endif
+
+    #import <Cocoa/Cocoa.h>
+    #import <AppKit/AppKit.h>
 
-#ifndef __IPHONE_6_0
-#warning "This project uses features only available in iOS SDK 6.0 and later."
 #endif
 
 #ifdef __OBJC__
-    #import <UIKit/UIKit.h>
     #import <Foundation/Foundation.h>
 #endif
\ No newline at end of file
diff --git a/Masonry/Masonry.h b/Masonry/Masonry.h
index 1e3f96b..adc648f 100644
--- a/Masonry/Masonry.h
+++ b/Masonry/Masonry.h
@@ -6,8 +6,9 @@
 //  Copyright (c) 2013 cloudling. All rights reserved.
 //
 
-#import "UIView+MASAdditions.h"
-#import "UIView+MASShorthandAdditions.h"
+#import "MASUtilities.h"
+#import "View+MASAdditions.h"
+#import "View+MASShorthandAdditions.h"
 #import "MASConstraint.h"
 #import "MASCompositeConstraint.h"
 #import "MASViewAttribute.h"
diff --git a/Masonry/NSLayoutConstraint+MASDebugAdditions.h b/Masonry/NSLayoutConstraint+MASDebugAdditions.h
index 1e41792..cb34c7d 100644
--- a/Masonry/NSLayoutConstraint+MASDebugAdditions.h
+++ b/Masonry/NSLayoutConstraint+MASDebugAdditions.h
@@ -6,29 +6,11 @@
 //  Copyright (c) 2013 Jonas Budelmann. All rights reserved.
 //
 
-#import <UIKit/UIKit.h>
+#import "MASUtilities.h"
 
 /**
  *	makes debug and log output of NSLayoutConstraints more readable
  */
 @interface NSLayoutConstraint (MASDebugAdditions)
 
-@end
-
-/**
- *	Allows you to attach keys to objects matching the variable names passed.
- *
- *  view1.mas_key = @"view1", view2.mas_key = @"view2";
- *
- *  is equivalent to:
- *
- *  MASAttachKeys(view1, view2);
- */
-#define MASAttachKeys(...)                                                    \
-    NSDictionary *keyPairs = NSDictionaryOfVariableBindings(__VA_ARGS__);     \
-    for (id key in keyPairs.allKeys) {                                        \
-        id obj = keyPairs[key];                                               \
-        NSAssert([obj respondsToSelector:@selector(setMas_key:)],             \
-                 @"Cannot attach mas_key to %@", obj);                        \
-        [obj setMas_key:key];                                                 \
-    }
\ No newline at end of file
+@end
\ No newline at end of file
diff --git a/Masonry/NSLayoutConstraint+MASDebugAdditions.m b/Masonry/NSLayoutConstraint+MASDebugAdditions.m
index 787254e..577b15f 100644
--- a/Masonry/NSLayoutConstraint+MASDebugAdditions.m
+++ b/Masonry/NSLayoutConstraint+MASDebugAdditions.m
@@ -44,6 +44,7 @@
             @(NSLayoutAttributeCenterY)  : @"centerY",
             @(NSLayoutAttributeBaseline) : @"baseline",
         };
+    
     });
     return descriptionMap;
 }
@@ -53,6 +54,7 @@
     static dispatch_once_t once;
     static NSDictionary *descriptionMap;
     dispatch_once(&once, ^{
+#if TARGET_OS_IPHONE
         descriptionMap = @{
             @(MASLayoutPriorityDefaultHigh)      : @"high",
             @(MASLayoutPriorityDefaultLow)       : @"low",
@@ -60,6 +62,18 @@
             @(MASLayoutPriorityRequired)         : @"required",
             @(MASLayoutPriorityFittingSizeLevel) : @"fitting size",
         };
+#elif TARGET_OS_MAC
+        descriptionMap = @{
+            @(MASLayoutPriorityDefaultHigh)                 : @"high",
+            @(MASLayoutPriorityDragThatCanResizeWindow)     : @"drag can resize window",
+            @(MASLayoutPriorityDefaultMedium)               : @"medium",
+            @(MASLayoutPriorityWindowSizeStayPut)           : @"window size stay put",
+            @(MASLayoutPriorityDragThatCannotResizeWindow)  : @"drag cannot resize window",
+            @(MASLayoutPriorityDefaultLow)                  : @"low",
+            @(MASLayoutPriorityFittingSizeCompression)      : @"fitting size",
+            @(MASLayoutPriorityRequired)                    : @"required",
+        };
+#endif
     });
     return descriptionMap;
 }
@@ -104,7 +118,7 @@
         }
     }
 
-    if (self.priority != UILayoutPriorityRequired) {
+    if (self.priority != MASLayoutPriorityRequired) {
         [description appendFormat:@" ^%@", self.class.layoutPriorityDescriptionsByValue[@(self.priority)] ?: [NSNumber numberWithDouble:self.priority]];
     }
 
diff --git a/Masonry/UIView+MASAdditions.h b/Masonry/View+MASAdditions.h
index 014220f..ee235fb 100644
--- a/Masonry/UIView+MASAdditions.h
+++ b/Masonry/View+MASAdditions.h
@@ -6,15 +6,15 @@
 //  Copyright (c) 2013 cloudling. All rights reserved.
 //
 
-#import <UIKit/UIKit.h>
+#import "MASUtilities.h"
 #import "MASConstraintMaker.h"
 #import "MASViewAttribute.h"
 
 /**
- *	Provides constraint maker block 
+ *	Provides constraint maker block
  *  and convience methods for creating MASViewAttribute which are view + NSLayoutAttribute pairs
  */
-@interface UIView (MASAdditions)
+@interface MAS_VIEW (MASAdditions)
 
 /**
  *	following properties return a new MASViewAttribute with current view and appropriate NSLayoutAttribute
@@ -36,6 +36,8 @@
  */
 @property (nonatomic, strong) id mas_key;
 
+- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view;
+
 /**
  Creates a MASConstraintMaker with the callee view. any constraints defined are added to the view or the appropriate superview once the block has finished executing
 
diff --git a/Masonry/UIView+MASAdditions.m b/Masonry/View+MASAdditions.m
index fb4137f..87ed2d0 100644
--- a/Masonry/UIView+MASAdditions.m
+++ b/Masonry/View+MASAdditions.m
@@ -6,10 +6,10 @@
 //  Copyright (c) 2013 cloudling. All rights reserved.
 //
 
-#import "UIView+MASAdditions.h"
+#import "View+MASAdditions.h"
 #import <objc/runtime.h>
 
-@implementation UIView (MASAdditions)
+@implementation MAS_VIEW (MASAdditions)
 
 - (void)mas_makeConstraints:(void(^)(MASConstraintMaker *))block {
     self.translatesAutoresizingMaskIntoConstraints = NO;
@@ -74,4 +74,23 @@
     objc_setAssociatedObject(self, @selector(mas_key), key, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
 }
 
+#pragma mark - heirachy
+
+- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view {
+    MAS_VIEW *closestCommonSuperview = nil;
+
+    MAS_VIEW *secondViewSuperview = view;
+    while (!closestCommonSuperview && secondViewSuperview) {
+        MAS_VIEW *firstViewSuperview = self;
+        while (!closestCommonSuperview && firstViewSuperview) {
+            if (secondViewSuperview == firstViewSuperview) {
+                closestCommonSuperview = secondViewSuperview;
+            }
+            firstViewSuperview = firstViewSuperview.superview;
+        }
+        secondViewSuperview = secondViewSuperview.superview;
+    }
+    return closestCommonSuperview;
+}
+
 @end
\ No newline at end of file
diff --git a/Masonry/UIView+MASShorthandAdditions.h b/Masonry/View+MASShorthandAdditions.h
index 7527a73..5f6de19 100644
--- a/Masonry/UIView+MASShorthandAdditions.h
+++ b/Masonry/View+MASShorthandAdditions.h
@@ -7,7 +7,7 @@
 //
 
 #import <UIKit/UIKit.h>
-#import "UIView+MASAdditions.h"
+#import "View+MASAdditions.h"
 
 #ifdef MAS_SHORTHAND
 
@@ -15,7 +15,7 @@
  *	Shorthand view additions without the 'mas_' prefixes,
  *  only enabled if MAS_SHORTHAND is defined
  */
-@interface UIView (MASShorthandAdditions)
+@interface MAS_VIEW (MASShorthandAdditions)
 
 @property (nonatomic, strong, readonly) MASViewAttribute *left;
 @property (nonatomic, strong, readonly) MASViewAttribute *top;
@@ -38,7 +38,7 @@
     return [self mas_##attr];   \
 }
 
-@implementation UIView (MASShorthandAdditions)
+@implementation MAS_VIEW (MASShorthandAdditions)
 
 MAS_ATTR_FORWARD(top);
 MAS_ATTR_FORWARD(left);
diff --git a/MasonryExamples/MasonryExamples.xcodeproj/project.pbxproj b/MasonryExamples/Masonry iOS Examples.xcodeproj/project.pbxproj
index 70c1afd..830ded0 100644
--- a/MasonryExamples/MasonryExamples.xcodeproj/project.pbxproj
+++ b/MasonryExamples/Masonry iOS Examples.xcodeproj/project.pbxproj
@@ -18,20 +18,20 @@
 		DD52F253179CADC0005CD195 /* MASExampleListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F24C179CADC0005CD195 /* MASExampleListViewController.m */; };
 		DD52F254179CADC0005CD195 /* MASExampleSidesView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F24E179CADC0005CD195 /* MASExampleSidesView.m */; };
 		DD52F255179CADC0005CD195 /* MASExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F250179CADC0005CD195 /* MASExampleViewController.m */; };
-		DD52F26E179CBA05005CD195 /* libMasonry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F26D179CBA05005CD195 /* libMasonry.a */; };
 		DD7CC17617ACE990007A469E /* MASExampleDebuggingView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD7CC17517ACE990007A469E /* MASExampleDebuggingView.m */; };
+		DDA5752F17C196A50010F88E /* libMasonry iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DDA5752E17C196A50010F88E /* libMasonry iOS.a */; };
 		DDF3875C179D648D00178773 /* MASExampleAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = DDF3875B179D648D00178773 /* MASExampleAnimatedView.m */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
-		DD52F227179CAD57005CD195 /* MasonryExamples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MasonryExamples.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		DD52F227179CAD57005CD195 /* Masonry iOS Examples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Masonry iOS Examples.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		DD52F22A179CAD57005CD195 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
 		DD52F22C179CAD57005CD195 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
 		DD52F22E179CAD57005CD195 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
-		DD52F232179CAD57005CD195 /* MasonryExamples-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MasonryExamples-Info.plist"; sourceTree = "<group>"; };
+		DD52F232179CAD57005CD195 /* Masonry iOS Examples-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Masonry iOS Examples-Info.plist"; sourceTree = "<group>"; };
 		DD52F234179CAD57005CD195 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		DD52F236179CAD57005CD195 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-		DD52F238179CAD57005CD195 /* MasonryExamples-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MasonryExamples-Prefix.pch"; sourceTree = "<group>"; };
+		DD52F238179CAD57005CD195 /* Masonry iOS Examples-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Masonry iOS Examples-Prefix.pch"; sourceTree = "<group>"; };
 		DD52F239179CAD57005CD195 /* MASAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MASAppDelegate.h; sourceTree = "<group>"; };
 		DD52F23A179CAD57005CD195 /* MASAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MASAppDelegate.m; sourceTree = "<group>"; };
 		DD52F247179CADC0005CD195 /* MASExampleBasicView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleBasicView.h; sourceTree = "<group>"; };
@@ -44,9 +44,9 @@
 		DD52F24E179CADC0005CD195 /* MASExampleSidesView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleSidesView.m; sourceTree = "<group>"; };
 		DD52F24F179CADC0005CD195 /* MASExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleViewController.h; sourceTree = "<group>"; };
 		DD52F250179CADC0005CD195 /* MASExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleViewController.m; sourceTree = "<group>"; };
-		DD52F26D179CBA05005CD195 /* libMasonry.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libMasonry.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		DD7CC17417ACE990007A469E /* MASExampleDebuggingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleDebuggingView.h; sourceTree = "<group>"; };
 		DD7CC17517ACE990007A469E /* MASExampleDebuggingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleDebuggingView.m; sourceTree = "<group>"; };
+		DDA5752E17C196A50010F88E /* libMasonry iOS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libMasonry iOS.a"; path = "../build/Release-iphoneos/libMasonry iOS.a"; sourceTree = SOURCE_ROOT; };
 		DDF3875A179D648D00178773 /* MASExampleAnimatedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleAnimatedView.h; sourceTree = "<group>"; };
 		DDF3875B179D648D00178773 /* MASExampleAnimatedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleAnimatedView.m; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -56,7 +56,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				DD52F26E179CBA05005CD195 /* libMasonry.a in Frameworks */,
+				DDA5752F17C196A50010F88E /* libMasonry iOS.a in Frameworks */,
 				DD52F22B179CAD57005CD195 /* UIKit.framework in Frameworks */,
 				DD52F22D179CAD57005CD195 /* Foundation.framework in Frameworks */,
 				DD52F22F179CAD57005CD195 /* CoreGraphics.framework in Frameworks */,
@@ -69,7 +69,7 @@
 		DD52F21E179CAD57005CD195 = {
 			isa = PBXGroup;
 			children = (
-				DD52F230179CAD57005CD195 /* MasonryExamples */,
+				DD52F230179CAD57005CD195 /* Masonry iOS Examples */,
 				DD52F229179CAD57005CD195 /* Frameworks */,
 				DD52F228179CAD57005CD195 /* Products */,
 			);
@@ -78,7 +78,7 @@
 		DD52F228179CAD57005CD195 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				DD52F227179CAD57005CD195 /* MasonryExamples.app */,
+				DD52F227179CAD57005CD195 /* Masonry iOS Examples.app */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -86,7 +86,7 @@
 		DD52F229179CAD57005CD195 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				DD52F26D179CBA05005CD195 /* libMasonry.a */,
+				DDA5752E17C196A50010F88E /* libMasonry iOS.a */,
 				DD52F22A179CAD57005CD195 /* UIKit.framework */,
 				DD52F22C179CAD57005CD195 /* Foundation.framework */,
 				DD52F22E179CAD57005CD195 /* CoreGraphics.framework */,
@@ -94,7 +94,7 @@
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
-		DD52F230179CAD57005CD195 /* MasonryExamples */ = {
+		DD52F230179CAD57005CD195 /* Masonry iOS Examples */ = {
 			isa = PBXGroup;
 			children = (
 				DD52F239179CAD57005CD195 /* MASAppDelegate.h */,
@@ -103,16 +103,16 @@
 				DD52F256179CADC4005CD195 /* Views */,
 				DD52F231179CAD57005CD195 /* Supporting Files */,
 			);
-			path = MasonryExamples;
+			path = "Masonry iOS Examples";
 			sourceTree = "<group>";
 		};
 		DD52F231179CAD57005CD195 /* Supporting Files */ = {
 			isa = PBXGroup;
 			children = (
-				DD52F232179CAD57005CD195 /* MasonryExamples-Info.plist */,
+				DD52F232179CAD57005CD195 /* Masonry iOS Examples-Info.plist */,
 				DD52F233179CAD57005CD195 /* InfoPlist.strings */,
 				DD52F236179CAD57005CD195 /* main.m */,
-				DD52F238179CAD57005CD195 /* MasonryExamples-Prefix.pch */,
+				DD52F238179CAD57005CD195 /* Masonry iOS Examples-Prefix.pch */,
 			);
 			name = "Supporting Files";
 			sourceTree = "<group>";
@@ -148,9 +148,9 @@
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
-		DD52F226179CAD57005CD195 /* MasonryExamples */ = {
+		DD52F226179CAD57005CD195 /* Masonry iOS Examples */ = {
 			isa = PBXNativeTarget;
-			buildConfigurationList = DD52F244179CAD57005CD195 /* Build configuration list for PBXNativeTarget "MasonryExamples" */;
+			buildConfigurationList = DD52F244179CAD57005CD195 /* Build configuration list for PBXNativeTarget "Masonry iOS Examples" */;
 			buildPhases = (
 				DD52F223179CAD57005CD195 /* Sources */,
 				DD52F224179CAD57005CD195 /* Frameworks */,
@@ -160,9 +160,9 @@
 			);
 			dependencies = (
 			);
-			name = MasonryExamples;
-			productName = MasonryExamples;
-			productReference = DD52F227179CAD57005CD195 /* MasonryExamples.app */;
+			name = "Masonry iOS Examples";
+			productName = "Masonry iOS Examples";
+			productReference = DD52F227179CAD57005CD195 /* Masonry iOS Examples.app */;
 			productType = "com.apple.product-type.application";
 		};
 /* End PBXNativeTarget section */
@@ -175,7 +175,7 @@
 				LastUpgradeCheck = 0460;
 				ORGANIZATIONNAME = "Jonas Budelmann";
 			};
-			buildConfigurationList = DD52F222179CAD57005CD195 /* Build configuration list for PBXProject "MasonryExamples" */;
+			buildConfigurationList = DD52F222179CAD57005CD195 /* Build configuration list for PBXProject "Masonry iOS Examples" */;
 			compatibilityVersion = "Xcode 3.2";
 			developmentRegion = English;
 			hasScannedForEncodings = 0;
@@ -187,7 +187,7 @@
 			projectDirPath = "";
 			projectRoot = "";
 			targets = (
-				DD52F226179CAD57005CD195 /* MasonryExamples */,
+				DD52F226179CAD57005CD195 /* Masonry iOS Examples */,
 			);
 		};
 /* End PBXProject section */
@@ -296,17 +296,13 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "MasonryExamples/MasonryExamples-Prefix.pch";
-				INFOPLIST_FILE = "MasonryExamples/MasonryExamples-Info.plist";
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"\"$(SRCROOT)/../../../Library/Developer/Xcode/DerivedData/Masonry-fbkxraflfpslgmcoluezbqgkgcsz/Build/Products/Debug-iphoneos\"",
-				);
+				GCC_PREFIX_HEADER = "Masonry iOS Examples/Masonry iOS Examples-Prefix.pch";
+				INFOPLIST_FILE = "Masonry iOS Examples/Masonry iOS Examples-Info.plist";
 				OTHER_LDFLAGS = (
 					"-ObjC",
 					"-all_load",
 				);
-				PRODUCT_NAME = "$(TARGET_NAME)";
+				PRODUCT_NAME = "Masonry iOS Examples";
 				USER_HEADER_SEARCH_PATHS = "$(BUILT_PRODUCTS_DIR)/**";
 				WRAPPER_EXTENSION = app;
 			};
@@ -316,17 +312,13 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "MasonryExamples/MasonryExamples-Prefix.pch";
-				INFOPLIST_FILE = "MasonryExamples/MasonryExamples-Info.plist";
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"\"$(SRCROOT)/../../../Library/Developer/Xcode/DerivedData/Masonry-fbkxraflfpslgmcoluezbqgkgcsz/Build/Products/Debug-iphoneos\"",
-				);
+				GCC_PREFIX_HEADER = "Masonry iOS Examples/Masonry iOS Examples-Prefix.pch";
+				INFOPLIST_FILE = "Masonry iOS Examples/Masonry iOS Examples-Info.plist";
 				OTHER_LDFLAGS = (
 					"-ObjC",
 					"-all_load",
 				);
-				PRODUCT_NAME = "$(TARGET_NAME)";
+				PRODUCT_NAME = "Masonry iOS Examples";
 				USER_HEADER_SEARCH_PATHS = "$(BUILT_PRODUCTS_DIR)/**";
 				WRAPPER_EXTENSION = app;
 			};
@@ -335,7 +327,7 @@
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
-		DD52F222179CAD57005CD195 /* Build configuration list for PBXProject "MasonryExamples" */ = {
+		DD52F222179CAD57005CD195 /* Build configuration list for PBXProject "Masonry iOS Examples" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
 				DD52F242179CAD57005CD195 /* Debug */,
@@ -344,7 +336,7 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		DD52F244179CAD57005CD195 /* Build configuration list for PBXNativeTarget "MasonryExamples" */ = {
+		DD52F244179CAD57005CD195 /* Build configuration list for PBXNativeTarget "Masonry iOS Examples" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
 				DD52F245179CAD57005CD195 /* Debug */,
diff --git a/MasonryExamples/MasonryExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/MasonryExamples/Masonry iOS Examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata
index fabe7f6..2ea2ab0 100644
--- a/MasonryExamples/MasonryExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/MasonryExamples/Masonry iOS Examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
 <Workspace
    version = "1.0">
    <FileRef
-      location = "self:MasonryExamples.xcodeproj">
+      location = "self:Masonry iOS Examples.xcodeproj">
    </FileRef>
 </Workspace>
diff --git a/MasonryExamples/MasonryExamples.xcodeproj/xcshareddata/xcschemes/MasonryExamples.xcscheme b/MasonryExamples/Masonry iOS Examples.xcodeproj/xcshareddata/xcschemes/Masonry iOS Examples.xcscheme
index d857df4..162c67b 100644
--- a/MasonryExamples/MasonryExamples.xcodeproj/xcshareddata/xcschemes/MasonryExamples.xcscheme
+++ b/MasonryExamples/Masonry iOS Examples.xcodeproj/xcshareddata/xcschemes/Masonry iOS Examples.xcscheme
@@ -15,8 +15,8 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BlueprintIdentifier = "DD52F1A9179CA93B005CD195"
-               BuildableName = "libMasonry.a"
-               BlueprintName = "Masonry"
+               BuildableName = "libMasonry iOS.a"
+               BlueprintName = "Masonry iOS"
                ReferencedContainer = "container:../Masonry.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
@@ -29,9 +29,9 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BlueprintIdentifier = "DD52F226179CAD57005CD195"
-               BuildableName = "MasonryExamples.app"
-               BlueprintName = "MasonryExamples"
-               ReferencedContainer = "container:MasonryExamples.xcodeproj">
+               BuildableName = "Masonry iOS Examples.app"
+               BlueprintName = "Masonry iOS Examples"
+               ReferencedContainer = "container:Masonry iOS Examples.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
       </BuildActionEntries>
@@ -47,9 +47,9 @@
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "DD52F226179CAD57005CD195"
-            BuildableName = "MasonryExamples.app"
-            BlueprintName = "MasonryExamples"
-            ReferencedContainer = "container:MasonryExamples.xcodeproj">
+            BuildableName = "Masonry iOS Examples.app"
+            BlueprintName = "Masonry iOS Examples"
+            ReferencedContainer = "container:Masonry iOS Examples.xcodeproj">
          </BuildableReference>
       </MacroExpansion>
    </TestAction>
@@ -66,9 +66,9 @@
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "DD52F226179CAD57005CD195"
-            BuildableName = "MasonryExamples.app"
-            BlueprintName = "MasonryExamples"
-            ReferencedContainer = "container:MasonryExamples.xcodeproj">
+            BuildableName = "Masonry iOS Examples.app"
+            BlueprintName = "Masonry iOS Examples"
+            ReferencedContainer = "container:Masonry iOS Examples.xcodeproj">
          </BuildableReference>
       </BuildableProductRunnable>
       <AdditionalOptions>
@@ -84,9 +84,9 @@
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "DD52F226179CAD57005CD195"
-            BuildableName = "MasonryExamples.app"
-            BlueprintName = "MasonryExamples"
-            ReferencedContainer = "container:MasonryExamples.xcodeproj">
+            BuildableName = "Masonry iOS Examples.app"
+            BlueprintName = "Masonry iOS Examples"
+            ReferencedContainer = "container:Masonry iOS Examples.xcodeproj">
          </BuildableReference>
       </BuildableProductRunnable>
    </ProfileAction>
diff --git a/MasonryExamples/MasonryExamples/MASAppDelegate.h b/MasonryExamples/Masonry iOS Examples/MASAppDelegate.h
index 7bcb05b..7bcb05b 100644
--- a/MasonryExamples/MasonryExamples/MASAppDelegate.h
+++ b/MasonryExamples/Masonry iOS Examples/MASAppDelegate.h
diff --git a/MasonryExamples/MasonryExamples/MASAppDelegate.m b/MasonryExamples/Masonry iOS Examples/MASAppDelegate.m
index fb92d2e..fb92d2e 100644
--- a/MasonryExamples/MasonryExamples/MASAppDelegate.m
+++ b/MasonryExamples/Masonry iOS Examples/MASAppDelegate.m
diff --git a/MasonryExamples/MasonryExamples/MASExampleAnimatedView.h b/MasonryExamples/Masonry iOS Examples/MASExampleAnimatedView.h
index 3c89026..7fbe077 100644
--- a/MasonryExamples/MasonryExamples/MASExampleAnimatedView.h
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleAnimatedView.h
@@ -1,6 +1,6 @@
 //
 //  MASExampleAnimatedView.h
-//  MasonryExamples
+//  Masonry iOS Examples
 //
 //  Created by Jonas Budelmann on 22/07/13.
 //  Copyright (c) 2013 Jonas Budelmann. All rights reserved.
diff --git a/MasonryExamples/MasonryExamples/MASExampleAnimatedView.m b/MasonryExamples/Masonry iOS Examples/MASExampleAnimatedView.m
index 91568b5..ea3c397 100644
--- a/MasonryExamples/MasonryExamples/MASExampleAnimatedView.m
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleAnimatedView.m
@@ -1,6 +1,6 @@
 //
 //  MASExampleAnimatedView.m
-//  MasonryExamples
+//  Masonry iOS Examples
 //
 //  Created by Jonas Budelmann on 22/07/13.
 //  Copyright (c) 2013 Jonas Budelmann. All rights reserved.
diff --git a/MasonryExamples/MasonryExamples/MASExampleBasicView.h b/MasonryExamples/Masonry iOS Examples/MASExampleBasicView.h
index 7ebc912..7ebc912 100644
--- a/MasonryExamples/MasonryExamples/MASExampleBasicView.h
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleBasicView.h
diff --git a/MasonryExamples/MasonryExamples/MASExampleBasicView.m b/MasonryExamples/Masonry iOS Examples/MASExampleBasicView.m
index 954feaa..9422446 100644
--- a/MasonryExamples/MasonryExamples/MASExampleBasicView.m
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleBasicView.m
@@ -36,7 +36,7 @@
     int padding = 10;
 
     //if you want to use Masonry without the mas_ prefix
-    //define MAS_SHORTHAND before importing Masonry.h see MasonryExamples-Prefix.pch
+    //define MAS_SHORTHAND before importing Masonry.h see Masonry iOS Examples-Prefix.pch
     [view1 makeConstraints:^(MASConstraintMaker *make) {
         make.top.greaterThanOrEqualTo(superview.top).offset(padding);
         make.left.equalTo(superview.left).offset(padding);
diff --git a/MasonryExamples/MasonryExamples/MASExampleConstantsView.h b/MasonryExamples/Masonry iOS Examples/MASExampleConstantsView.h
index 0b6d8e0..0b6d8e0 100644
--- a/MasonryExamples/MasonryExamples/MASExampleConstantsView.h
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleConstantsView.h
diff --git a/MasonryExamples/MasonryExamples/MASExampleConstantsView.m b/MasonryExamples/Masonry iOS Examples/MASExampleConstantsView.m
index 70f6c97..70f6c97 100644
--- a/MasonryExamples/MasonryExamples/MASExampleConstantsView.m
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleConstantsView.m
diff --git a/MasonryExamples/MasonryExamples/MASExampleDebuggingView.h b/MasonryExamples/Masonry iOS Examples/MASExampleDebuggingView.h
index 2706b58..a7355f3 100644
--- a/MasonryExamples/MasonryExamples/MASExampleDebuggingView.h
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleDebuggingView.h
@@ -1,6 +1,6 @@
 //
 //  MASExampleDebuggingView.h
-//  MasonryExamples
+//  Masonry iOS Examples
 //
 //  Created by Jonas Budelmann on 3/08/13.
 //  Copyright (c) 2013 Jonas Budelmann. All rights reserved.
diff --git a/MasonryExamples/MasonryExamples/MASExampleDebuggingView.m b/MasonryExamples/Masonry iOS Examples/MASExampleDebuggingView.m
index 2dcfec0..cef826f 100644
--- a/MasonryExamples/MasonryExamples/MASExampleDebuggingView.m
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleDebuggingView.m
@@ -1,6 +1,6 @@
 //
 //  MASExampleDebuggingView.m
-//  MasonryExamples
+//  Masonry iOS Examples
 //
 //  Created by Jonas Budelmann on 3/08/13.
 //  Copyright (c) 2013 Jonas Budelmann. All rights reserved.
diff --git a/MasonryExamples/MasonryExamples/MASExampleListViewController.h b/MasonryExamples/Masonry iOS Examples/MASExampleListViewController.h
index 99cfdf8..99cfdf8 100644
--- a/MasonryExamples/MasonryExamples/MASExampleListViewController.h
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleListViewController.h
diff --git a/MasonryExamples/MasonryExamples/MASExampleListViewController.m b/MasonryExamples/Masonry iOS Examples/MASExampleListViewController.m
index 3e4fe64..3e4fe64 100644
--- a/MasonryExamples/MasonryExamples/MASExampleListViewController.m
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleListViewController.m
diff --git a/MasonryExamples/MasonryExamples/MASExampleSidesView.h b/MasonryExamples/Masonry iOS Examples/MASExampleSidesView.h
index 201ec35..201ec35 100644
--- a/MasonryExamples/MasonryExamples/MASExampleSidesView.h
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleSidesView.h
diff --git a/MasonryExamples/MasonryExamples/MASExampleSidesView.m b/MasonryExamples/Masonry iOS Examples/MASExampleSidesView.m
index 881a72a..881a72a 100644
--- a/MasonryExamples/MasonryExamples/MASExampleSidesView.m
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleSidesView.m
diff --git a/MasonryExamples/MasonryExamples/MASExampleViewController.h b/MasonryExamples/Masonry iOS Examples/MASExampleViewController.h
index 0668563..0668563 100644
--- a/MasonryExamples/MasonryExamples/MASExampleViewController.h
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleViewController.h
diff --git a/MasonryExamples/MasonryExamples/MASExampleViewController.m b/MasonryExamples/Masonry iOS Examples/MASExampleViewController.m
index 2844c69..2844c69 100644
--- a/MasonryExamples/MasonryExamples/MASExampleViewController.m
+++ b/MasonryExamples/Masonry iOS Examples/MASExampleViewController.m
diff --git a/MasonryExamples/MasonryExamples/MasonryExamples-Info.plist b/MasonryExamples/Masonry iOS Examples/Masonry iOS Examples-Info.plist
index 8e0f41c..8e0f41c 100644
--- a/MasonryExamples/MasonryExamples/MasonryExamples-Info.plist
+++ b/MasonryExamples/Masonry iOS Examples/Masonry iOS Examples-Info.plist
diff --git a/MasonryExamples/MasonryExamples/MasonryExamples-Prefix.pch b/MasonryExamples/Masonry iOS Examples/Masonry iOS Examples-Prefix.pch
index 42c1c51..c2350a2 100644
--- a/MasonryExamples/MasonryExamples/MasonryExamples-Prefix.pch
+++ b/MasonryExamples/Masonry iOS Examples/Masonry iOS Examples-Prefix.pch
@@ -1,5 +1,5 @@
 //
-// Prefix header for all source files of the 'MasonryExamples' target in the 'MasonryExamples' project
+// Prefix header for all source files of the 'Masonry iOS Examples' target in the 'Masonry iOS Examples' project
 //
 
 #import <Availability.h>
@@ -16,6 +16,5 @@
     //define this constant if you want to use Masonry without the 'mas_' prefix
     #define MAS_SHORTHAND
 
-    //if you have installed using cocoapods use #import "Masonry.h"
-    #import "Masonry/Masonry.h" 
+    #import "Masonry.h" 
 #endif
diff --git a/MasonryExamples/MasonryExamples/en.lproj/InfoPlist.strings b/MasonryExamples/Masonry iOS Examples/en.lproj/InfoPlist.strings
index 477b28f..477b28f 100644
--- a/MasonryExamples/MasonryExamples/en.lproj/InfoPlist.strings
+++ b/MasonryExamples/Masonry iOS Examples/en.lproj/InfoPlist.strings
diff --git a/MasonryExamples/MasonryExamples/main.m b/MasonryExamples/Masonry iOS Examples/main.m
index e6e63d5..a66acfa 100644
--- a/MasonryExamples/MasonryExamples/main.m
+++ b/MasonryExamples/Masonry iOS Examples/main.m
@@ -1,6 +1,6 @@
 //
 //  main.m
-//  MasonryExamples
+//  Masonry iOS Examples
 //
 //  Created by Jonas Budelmann on 22/07/13.
 //  Copyright (c) 2013 Jonas Budelmann. All rights reserved.
diff --git a/MasonryTests/MASCompositeConstraintSpec.m b/MasonryTests/MASCompositeConstraintSpec.m
index bd9b37f..b53b6de 100644
--- a/MasonryTests/MASCompositeConstraintSpec.m
+++ b/MasonryTests/MASCompositeConstraintSpec.m
@@ -26,15 +26,15 @@
 SpecBegin(MASCompositeConstraint)
 
 __block MASConstraintDelegateMock *delegate;
-__block UIView *superview;
-__block UIView *view;
+__block MAS_VIEW *superview;
+__block MAS_VIEW *view;
 __block MASCompositeConstraint *composite;
 
 beforeEach(^{
     composite = nil;
     delegate = MASConstraintDelegateMock.new;
-    view = UIView.new;
-    superview = UIView.new;
+    view = MAS_VIEW.new;
+    superview = MAS_VIEW.new;
     [superview addSubview:view];
 });
 
@@ -53,7 +53,7 @@ it(@"should create centerY and centerX children", ^{
 });
 
 it(@"should create top, left, bottom, right children", ^{
-    UIView *newView = UIView.new;
+    MAS_VIEW *newView = MAS_VIEW.new;
     composite = [[MASCompositeConstraint alloc] initWithView:view type:MASCompositeConstraintTypeEdges];
     composite.equalTo(newView);
 
@@ -96,7 +96,7 @@ it(@"should create width and height children", ^{
 it(@"should complete children", ^{
     composite = [[MASCompositeConstraint alloc] initWithView:view type:MASCompositeConstraintTypeSize];
     composite.delegate = delegate;
-    UIView *newView = UIView.new;
+    MAS_VIEW *newView = MAS_VIEW.new;
 
     //first equality statement
     composite.equalTo(newView).sizeOffset(CGSizeMake(90, 30)).priorityLow();
@@ -119,7 +119,7 @@ it(@"should complete children", ^{
 it(@"should not remove on install", ^{
     composite = [[MASCompositeConstraint alloc] initWithView:view type:MASCompositeConstraintTypeSize];
     composite.delegate = delegate;
-    UIView *newView = UIView.new;
+    MAS_VIEW *newView = MAS_VIEW.new;
     [superview addSubview:newView];
 
     //first equality statement
@@ -134,7 +134,7 @@ it(@"should spawn child composite constraints", ^{
     composite = [[MASCompositeConstraint alloc] initWithView:view type:MASCompositeConstraintTypeSize];
     composite.delegate = delegate;
 
-    UIView *otherView = UIView.new;
+    MAS_VIEW *otherView = MAS_VIEW.new;
     [superview addSubview:otherView];
     composite.lessThanOrEqualTo(@[@2, otherView]);
 
diff --git a/MasonryTests/MASConstraintDelegateMock.h b/MasonryTests/MASConstraintDelegateMock.h
index 09b3eea..8b752a8 100644
--- a/MasonryTests/MASConstraintDelegateMock.h
+++ b/MasonryTests/MASConstraintDelegateMock.h
@@ -6,7 +6,6 @@
 //  Copyright (c) 2013 Jonas Budelmann. All rights reserved.
 //
 
-#import <Foundation/Foundation.h>
 #import "MASConstraint.h"
 
 @interface MASConstraintDelegateMock : NSObject <MASConstraintDelegate>
diff --git a/MasonryTests/MASViewConstraintSpec.m b/MasonryTests/MASViewConstraintSpec.m
index d4db312..94bbc95 100644
--- a/MasonryTests/MASViewConstraintSpec.m
+++ b/MasonryTests/MASViewConstraintSpec.m
@@ -8,7 +8,7 @@
 
 #import "MASViewConstraint.h"
 #import "MASConstraint.h"
-#import "UIView+MASAdditions.h"
+#import "View+MASAdditions.h"
 #import "MASConstraintDelegateMock.h"
 #import "MASCompositeConstraint.h"
 
@@ -31,22 +31,22 @@
 SpecBegin(MASViewConstraint)
 
 __block MASConstraintDelegateMock *delegate;
-__block UIView *superview;
+__block MAS_VIEW *superview;
 __block MASViewConstraint *constraint;
-__block UIView *otherView;
+__block MAS_VIEW *otherView;
 
 
 beforeEach(^{
-    superview = UIView.new;
+    superview = MAS_VIEW.new;
     delegate = MASConstraintDelegateMock.new;
 
-    UIView *view = UIView.new;
+    MAS_VIEW *view = MAS_VIEW.new;
     constraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_width];
     constraint.delegate = delegate;
 
     [superview addSubview:view];
 
-    otherView = UIView.new;
+    otherView = MAS_VIEW.new;
     [superview addSubview:otherView];
 });
 
@@ -107,7 +107,7 @@ describe(@"create equality constraint", ^{
     });
 
     it(@"should accept view object", ^{
-        UIView *view = UIView.new;
+        MAS_VIEW *view = MAS_VIEW.new;
         constraint.equalTo(view);
 
         expect(constraint.secondViewAttribute.view).to.beIdenticalTo(view);
@@ -115,7 +115,7 @@ describe(@"create equality constraint", ^{
     });
     
     it(@"should create composite when passed array of views", ^{
-        NSArray *views = @[UIView.new, UIView.new, UIView.new];
+        NSArray *views = @[MAS_VIEW.new, MAS_VIEW.new, MAS_VIEW.new];
         [delegate.constraints addObject:constraint];
 
         MASCompositeConstraint *composite = (id)constraint.equalTo(views).priorityMedium().offset(-10);
@@ -123,7 +123,7 @@ describe(@"create equality constraint", ^{
         expect(delegate.constraints).to.haveCountOf(1);
         expect(delegate.constraints[0]).to.beKindOf(MASCompositeConstraint.class);
         for (MASViewConstraint *constraint in composite.childConstraints) {
-            int index = [composite.childConstraints indexOfObject:constraint];
+            NSUInteger index = [composite.childConstraints indexOfObject:constraint];
             expect(constraint.secondViewAttribute.view).to.beIdenticalTo(views[index]);
             expect(constraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);
             expect(constraint.secondViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);
@@ -133,7 +133,7 @@ describe(@"create equality constraint", ^{
     });
 
     it(@"should create composite when passed array of attributes", ^{
-        NSArray *viewAttributes = @[UIView.new.mas_height, UIView.new.mas_left];
+        NSArray *viewAttributes = @[MAS_VIEW.new.mas_height, MAS_VIEW.new.mas_left];
         [delegate.constraints addObject:constraint];
         
         MASCompositeConstraint *composite = (id)constraint.equalTo(viewAttributes).priority(60).offset(10);
@@ -141,7 +141,7 @@ describe(@"create equality constraint", ^{
         expect(delegate.constraints).to.haveCountOf(1);
         expect(delegate.constraints[0]).to.beKindOf(MASCompositeConstraint.class);
         for (MASViewConstraint *constraint in composite.childConstraints) {
-            int index = [composite.childConstraints indexOfObject:constraint];
+            NSUInteger index = [composite.childConstraints indexOfObject:constraint];
             expect(constraint.secondViewAttribute.view).to.beIdenticalTo([viewAttributes[index] view]);
             expect(constraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);
             expect(constraint.secondViewAttribute.layoutAttribute).to.equal([viewAttributes[index] layoutAttribute]);
@@ -171,23 +171,23 @@ describe(@"multiplier & constant", ^{
     
     it(@"should update sides offset only", ^{
         MASViewConstraint *centerY = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerY];
-        centerY.insets(UIEdgeInsetsMake(10, 10, 10, 10));
+        centerY.insets((MASEdgeInsets){10, 10, 10, 10});
         expect(centerY.layoutConstant).to.equal(0);
 
         MASViewConstraint *top = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_top];
-        top.insets(UIEdgeInsetsMake(15, 10, 10, 10));
+        top.insets((MASEdgeInsets){15, 10, 10, 10});
         expect(top.layoutConstant).to.equal(15);
 
         MASViewConstraint *left = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_left];
-        left.insets(UIEdgeInsetsMake(10, 15, 10, 10));
+        left.insets((MASEdgeInsets){10, 15, 10, 10});
         expect(left.layoutConstant).to.equal(15);
 
         MASViewConstraint *bottom = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_bottom];
-        bottom.insets(UIEdgeInsetsMake(10, 10, 15, 10));
+        bottom.insets((MASEdgeInsets){10, 10, 15, 10});
         expect(bottom.layoutConstant).to.equal(-15);
 
         MASViewConstraint *right = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_right];
-        right.insets(UIEdgeInsetsMake(10, 10, 10, 15));
+        right.insets((MASEdgeInsets){10, 10, 10, 15});
         expect(right.layoutConstant).to.equal(-15);
     });
     
diff --git a/MasonryTests/MasonryTests-Prefix.pch b/MasonryTests/MasonryTests-Prefix.pch
index a85821c..6ba4ec6 100644
--- a/MasonryTests/MasonryTests-Prefix.pch
+++ b/MasonryTests/MasonryTests-Prefix.pch
@@ -9,4 +9,6 @@
 
     #define EXP_SHORTHAND
     #import "Expecta.h"
+
+    #import "MASUtilities.h"
 #endif
\ No newline at end of file
diff --git a/Podfile b/Podfile
index 2e41b31..4c4d178 100644
--- a/Podfile
+++ b/Podfile
@@ -1,6 +1,11 @@
-platform :ios, '6.0'
+target 'Masonry Mac Tests', :exclusive => true do
+    platform :osx, '10.8'
+    pod 'Specta'
+	pod 'Expecta'
+end
 
-target 'MasonryTests', :exclusive => true do
+target 'Masonry iOS Tests', :exclusive => true do
+    platform :ios, '6.0'
     pod 'Specta'
 	pod 'Expecta'
 end
\ No newline at end of file
diff --git a/README.md b/README.md
index d8edd5a..49e0395 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ Masonry
 
 Masonary is a light-weight layout framework which wraps AutoLayout with a nicer syntax. Masonary has its own layout DSL which provides a chainable way of describing your NSLayoutConstraints which results in layout code that is more concise and readable.
 
-For examples take a look at the **MasonryExamples** project in the Masonry workspace.
+For examples take a look at the **Masonry iOS Examples** project in the Masonry workspace.
 
 [![Build Status](https://travis-ci.org/cloudkite/Masonry.png?branch=master)](https://travis-ci.org/cloudkite/Masonry)
 [![Version](http://cocoapod-badges.herokuapp.com/v/Masonry/badge.png)](http://cocoadocs.org/docsets/Masonry)
@@ -240,7 +240,7 @@ Will attempt to recover by breaking constraint
 <MASLayoutConstraint:ConstantConstraint UILabel:messageLabel.height >= 5000>
 ```
 
-For an example of how to set this up take a look at the **MasonryExamples** project in the Masonry workspace.
+For an example of how to set this up take a look at the **Masonry iOS Examples** project in the Masonry workspace.
 
 ## Installation
 Use the [orsome](http://www.youtube.com/watch?v=YaIZF8uUTtk) [CocoaPods](http://github.com/CocoaPods/CocoaPods).