diff --git a/cores/arduino/SERCOM.h b/cores/arduino/SERCOM.h
index 12dc5c7f709027955eb3c93b58d878a8e178f1a7..98bf6f466621385eae199f0c641c7bcf4922d3eb 100644
--- a/cores/arduino/SERCOM.h
+++ b/cores/arduino/SERCOM.h
@@ -76,10 +76,10 @@ typedef enum
 
 typedef enum
 {
-	SPI_MODE_0 = 0,	// CPOL : 0  | CPHA : 0
-	SPI_MODE_1,		// CPOL : 0  | CPHA : 1
-	SPI_MODE_2,		// CPOL : 1  | CPHA : 0
-	SPI_MODE_3		// CPOL : 1  | CPHA : 1
+	SERCOM_SPI_MODE_0 = 0,	// CPOL : 0  | CPHA : 0
+	SERCOM_SPI_MODE_1,		// CPOL : 0  | CPHA : 1
+	SERCOM_SPI_MODE_2,		// CPOL : 1  | CPHA : 0
+	SERCOM_SPI_MODE_3		// CPOL : 1  | CPHA : 1
 } SercomSpiClockMode;
 
 typedef enum
diff --git a/libraries/SPI/SPI.cpp b/libraries/SPI/SPI.cpp
index a2a55c83814e7b48e8b746dfda26a69017054933..76292014c977cdb9bab9bc2273ec6fd0420b02ff 100644
--- a/libraries/SPI/SPI.cpp
+++ b/libraries/SPI/SPI.cpp
@@ -10,22 +10,22 @@
 
 #include "SPI.h"
 
-SPIClass::SPIClass(SERCOM *sercom)
+SPIClass::SPIClass(SERCOM *s)
 {
-	this->sercom = sercom;
+	sercom = s;
 }
 
 void SPIClass::begin() {
 	// Default speed set to 4Mhz, SPI mode set to MODE 0 and Bit order set to MSB first.
-	sercom->initSPI(PAD_0_SCK_1, PAD_2, 8_BITS, MSB_FIRST);
-	sercom->initClock(MODE_0, 4000000);
+	sercom->initSPI(SPI_PAD_0_SCK_1, SERCOM_RX_PAD_2, SPI_CHAR_SIZE_8_BITS, MSB_FIRST);
+	sercom->initClock(SERCOM_SPI_MODE_0, 4000000);
 }
 
 void SPIClass::end() {
 	sercom->resetSPI();
 }
 
-void setBitOrder(BitOrder order)
+void SPIClass::setBitOrder(BitOrder order)
 {
 	if(order == LSBFIRST)
 		sercom->setDataOrderSPI(LSB_FIRST);
@@ -33,24 +33,24 @@ void setBitOrder(BitOrder order)
 		sercom->setDataOrderSPI(MSB_FIRST);
 }
 
-void setDataMode(uint8_t mode)
+void SPIClass::setDataMode(uint8_t mode)
 {
 	switch(mode)
 	{
 		case SPI_MODE0:
-			sercom->setClockModeSPI(MODE_0);
+			sercom->setClockModeSPI(SERCOM_SPI_MODE_0);
 			break;
 			
 		case SPI_MODE1:
-			sercom->setClockModeSPI(MODE_1);
+			sercom->setClockModeSPI(SERCOM_SPI_MODE_1);
 			break;
 			
 		case SPI_MODE2:
-			sercom->setClockModeSPI(MODE_2);
+			sercom->setClockModeSPI(SERCOM_SPI_MODE_2);
 			break;
 			
 		case SPI_MODE3:
-			sercom->setClockModeSPI(MODE_3);
+			sercom->setClockModeSPI(SERCOM_SPI_MODE_3);
 			break;
 		
 		default:
@@ -58,12 +58,12 @@ void setDataMode(uint8_t mode)
 	}
 }
 
-void setClockDivider(uint8_t div)
+void SPIClass::setClockDivider(uint8_t div)
 {
 	sercom->setBaudrateSPI(div);
 }
 
-byte SPIClass::transfer(uint8_t _data)
+byte SPIClass::transfer(uint8_t data)
 {
 	//Can writing new data?
 	while(!sercom->isDataRegisterEmptySPI());
diff --git a/libraries/SPI/SPI.h b/libraries/SPI/SPI.h
index 9f3830bf03397d16c40cebc46ea303ef9a0117bd..195723a76656d66f6064d1b9eb59b81b91f2ce43 100644
--- a/libraries/SPI/SPI.h
+++ b/libraries/SPI/SPI.h
@@ -13,14 +13,20 @@
 
 #include "variant.h"
 #include "SERCOM.h"
+#include "wiring_constants.h"
 
 #include <stdio.h>
 
+#define SPI_MODE0 0x02
+#define SPI_MODE1 0x00
+#define SPI_MODE2 0x03
+#define SPI_MODE3 0x01
+
 class SPIClass {
   public:
-	SPIClass(SERCOM *sercom);
+	SPIClass(SERCOM *s);
 
-	byte transfer(uint8_t _data);
+	byte transfer(uint8_t data);
 
 	// SPI Configuration methods
 	void attachInterrupt();
diff --git a/libraries/Wire/Wire.cpp b/libraries/Wire/Wire.cpp
index e64d47f186f3eaac6d7e4545ad0bde510d5d169f..8f830527a4c2d3ac61ec23ea918b3753c0861f9e 100644
--- a/libraries/Wire/Wire.cpp
+++ b/libraries/Wire/Wire.cpp
@@ -24,9 +24,9 @@ extern "C" {
 
 #include "Wire.h"
 
-TwoWire::TwoWire(SERCOM * sercom)
+TwoWire::TwoWire(SERCOM * s)
 {
-	this->sercom = sercom;
+	this->sercom = s;
 	transmissionBegun = false;
 }
 
diff --git a/libraries/Wire/Wire.h b/libraries/Wire/Wire.h
index c8d3200cf0a28927ef0c65bd564d2e69ebb55ec6..3e3a755e39b14ad67cb2bd7d75ff3ca8eab5b557 100644
--- a/libraries/Wire/Wire.h
+++ b/libraries/Wire/Wire.h
@@ -21,7 +21,7 @@
 #ifndef TwoWire_h
 #define TwoWire_h
 
-#include <include/twi.h>
+//#include <include/twi.h>
 
 #include "Stream.h"
 #include "variant.h"
@@ -33,7 +33,7 @@
 
 class TwoWire : public Stream {
 public:
-	TwoWire(SERCOM *sercom);
+	TwoWire(SERCOM *s);
 	void begin();
 	void begin(uint8_t);