*refactoring and restructuring some naming conventions
  *Looked over code with Salar to consider some architecture
    ideas.
diff --git a/snakeJS.html b/snakeJS.html
index a6769ab..67ad164 100644
--- a/snakeJS.html
+++ b/snakeJS.html
@@ -3,7 +3,7 @@
 	<title>Ziad's Snake JS</title>
 	<link rel="stylesheet" href="css/snakeJSmain.css">
 	<script src="src/snakeJS.js"></script>
-	<script src="src/snakeJSView.js"></script>
+	<script src="src/canvas.js"></script>
 	<script src="src/snakeJSModel.js"></script>
 </head>
 <body>
diff --git a/src/canvas.js b/src/canvas.js
new file mode 100644
index 0000000..610496b
--- /dev/null
+++ b/src/canvas.js
@@ -0,0 +1,41 @@
+function Canvas(){
+	this.canvas = document.getElementsByClassName("snake-screen")[0]
+	this.ctx = this.canvas.getContext("2d")
+}
+
+Canvas.prototype = {
+
+	readyPlayScreen: function(){
+		this.ctx.fillStyle= "rgba(0,0,0,1)"
+		this.ctx.fillRect(0,0,500,500)
+	},
+
+	refreshScreen: function(){
+		this.ctx.fillStyle= "rgba(0,0,0,1)"
+		this.ctx.fillRect(0,0,500,500)
+	},
+
+	paintSnakeOnCanvas: function(growthPos){
+		this.ctx.fillStyle= "rgba(255,255,255,1)"
+		this.ctx.fillRect( this.findXAxis( growthPos ), this.findYAxis( growthPos ), 25, 25 )
+	},
+
+	paintFoodOnCanvas: function(foodPos){
+		this.ctx.fillStyle= "rgba(255,0,0,1)"
+		this.ctx.fillRect( this.findXAxis( foodPos ), this.findYAxis( foodPos), 25, 25 )
+	},
+
+	findXAxis: function(growthPos){
+		return ( growthPos%20 )*25
+	},
+
+	findYAxis: function(growthPos){
+		return Math.floor(growthPos/20) * 25
+	},
+
+	updateSnakeScreen: function(arrayOfPositions){
+		for( var x = ( arrayOfPositions.length - 1 ); x >= 0; x-- ){
+			this.paintSnakeOnCanvas( arrayOfPositions[x] )
+		}
+	}
+}
\ No newline at end of file
diff --git a/src/snakeJS.js b/src/snakeJS.js
index b33cd54..431acc7 100644
--- a/src/snakeJS.js
+++ b/src/snakeJS.js
@@ -9,7 +9,7 @@ window.addEventListener( 'load', function(){

 function SnakeGameController(){
-	this.View = new SnakeView();
+	this.View = new Canvas();
 	this.Model = new SnakeModel();
 	this.conInterval = setInterval();
 	this.snakeGameBoard = [];
@@ -61,32 +61,30 @@ SnakeGameController.prototype = {
 	changeSnakeDirection: function(event){
 		  switch (event.keyCode) {
 		  	case 37:
-		  		event.preventDefault()
-		  		this.Model.changeDirectionLeft();
-		  		this.generateFluidMoves()
+		  		this.changeDirection( event, this.Model.changeDirectionLeft )
 		  	break;

 		  	case 38:
-		  		event.preventDefault()
-		  		this.Model.changeDirectionUp();
-		  		this.generateFluidMoves()
+		  		this.changeDirection( event, this.Model.changeDirectionUp )
 		  	break;

 		  	case 39:
-		  		event.preventDefault()
-		  		this.Model.changeDirectionRight();
-		  		this.generateFluidMoves()
+		  		this.changeDirection( event, this.Model.changeDirectionRight )
 		  	break;

 		  	case 40:
-		  		event.preventDefault()
-		  		this.Model.changeDirectionDown();
-		  		this.generateFluidMoves()
+		  		this.changeDirection( event, this.Model.changeDirectionDown )
 		  	break;
 		  }

 	},

+	changeDirection: function( e, direction ){
+		e.preventDefault()
+		direction.call( this.Model )
+		this.generateFluidMoves()
+	},
+
 	generateFluidMoves: function(){
 		clearInterval(this.conInterval)
 		this.executeTurn()
diff --git a/src/snakeJSModel.js b/src/snakeJSModel.js
index 41e43e4..5fc9444 100644
--- a/src/snakeJSModel.js
+++ b/src/snakeJSModel.js
@@ -1,8 +1,13 @@
+//custom events
+//jquery trigger
+
 function SnakeModel(){
 	this.snakeBody = []
-	this.snakeBody.push(new SnakeGrowth(2, 0))
-	this.snakeBody.push(new SnakeGrowth(1, 1))
-	this.snakeBody.push(new SnakeGrowth(0, 2))
+	//initialize?
+	this.snakeBody.push(new SnakeNode(2, 0))
+	this.snakeBody.push(new SnakeNode(1, 1))
+	this.snakeBody.push(new SnakeNode(0, 2))
+	//direction
 	this.headPosition = 1
 	this.snakeHead = this.snakeBody[0]
 }
@@ -13,7 +18,7 @@ SnakeModel.prototype = {
 	},

 	growSnake: function(){
-		this.snakeBody.push(new SnakeGrowth(this.findLastPosition(), this.snakeBodyLength()))
+		this.snakeBody.push(new SnakeNode(this.findLastPosition(), this.snakeBodyLength()))
 	},

 	findLastPosition: function(){
@@ -105,7 +110,7 @@ SnakeModel.prototype = {
 }

-function SnakeGrowth(boardPos, snakePart){
+function SnakeNode(boardPos, snakePart){
 	this.boardPos = boardPos
 	this.snakePart = snakePart
 }
\ No newline at end of file
diff --git a/src/snakeJSView.js b/src/snakeJSView.js
deleted file mode 100644
index 758dfbf..0000000
--- a/src/snakeJSView.js
+++ /dev/null
@@ -1,41 +0,0 @@
-function SnakeView(){
-	this.SnakeCanvas = document.getElementsByClassName("snake-screen")[0]
-	this.canvasContext = this.SnakeCanvas.getContext("2d")
-}
-
-SnakeView.prototype = {
-
-	readyPlayScreen: function(){
-		this.canvasContext.fillStyle= "rgba(0,0,0,1)"
-		this.canvasContext.fillRect(0,0,500,500)
-	},
-
-	refreshScreen: function(){
-		this.canvasContext.fillStyle= "rgba(0,0,0,1)"
-		this.canvasContext.fillRect(0,0,500,500)
-	},
-
-	paintSnakeOnCanvas: function(growthPos){
-		this.canvasContext.fillStyle= "rgba(255,255,255,1)"
-		this.canvasContext.fillRect( this.findXAxis( growthPos ), this.findYAxis( growthPos ), 25, 25 )
-	},
-
-	paintFoodOnCanvas: function(foodPos){
-		this.canvasContext.fillStyle= "rgba(255,0,0,1)"
-		this.canvasContext.fillRect( this.findXAxis( foodPos ), this.findYAxis( foodPos), 25, 25 )
-	},
-
-	findXAxis: function(growthPos){
-		return ( growthPos%20 )*25
-	},
-
-	findYAxis: function(growthPos){
-		return Math.floor(growthPos/20) * 25
-	},
-
-	updateSnakeScreen: function(arrayOfPositions){
-		for(var x=(arrayOfPositions.length-1); x>=0; x--){
-			this.paintSnakeOnCanvas(arrayOfPositions[x])
-		}
-	}
-}
\ No newline at end of file