*Added left wall logic. Snake will return to
    the right wall on the same row when it hits the
    left wall.
diff --git a/src/snakeJSModel.js b/src/snakeJSModel.js
index 18a6f8b..f616065 100644
--- a/src/snakeJSModel.js
+++ b/src/snakeJSModel.js
@@ -40,13 +40,24 @@ SnakeModel.prototype = {
 		}
 			if(this.willHitRightWall()){
 				this.snakeHead.boardPos -= 19
+			}else if(this.willHitLeftWall()){
+				this.snakeHead.boardPos += 19
 			}else{
 				this.snakeHead.boardPos += this.headPosition
 			}
 	},

+	willHitLeftWall: function(){
+		if( ( (this.snakeHead.boardPos - 1) %20 == 19) && (this.headPosition === -1) ){
+			return true
+		}else{
+			return false
+		}
+
+	},
+
 	willHitRightWall: function(){
-		if( ((this.snakeHead.boardPos + 2 ) %20 === 1) && (this.headPosition === 1) ){
+		if( ((this.snakeHead.boardPos + 1 ) %20 === 0) && (this.headPosition === 1) ){
 			return true
 		}else{
 			return false
  *wall hit logic for upper wall. Snake will come from
    the bottom in the same column now when hitting the
    upper wall.
diff --git a/src/snakeJS.js b/src/snakeJS.js
index e1241ee..275cb3e 100644
--- a/src/snakeJS.js
+++ b/src/snakeJS.js
@@ -59,7 +59,6 @@ SnakeGameController.prototype = {
 		window.addEventListener("keydown", this.changeSnakeDirection.bind(this), false)
 	},
 	changeSnakeDirection: function(event){
-		console.log(event.keyCode)
 		  switch (event.keyCode) {
 		  	case 37:
 		  		event.preventDefault()
diff --git a/src/snakeJSModel.js b/src/snakeJSModel.js
index f616065..e98ad8b 100644
--- a/src/snakeJSModel.js
+++ b/src/snakeJSModel.js
@@ -42,11 +42,21 @@ SnakeModel.prototype = {
 				this.snakeHead.boardPos -= 19
 			}else if(this.willHitLeftWall()){
 				this.snakeHead.boardPos += 19
+			}else if(this.willHitUpperWall()){
+				this.snakeHead.boardPos += 380
 			}else{
 				this.snakeHead.boardPos += this.headPosition
 			}
 	},

+	willHitUpperWall: function(){
+		if( ( (this.snakeHead.boardPos - 20) < 0) && (this.headPosition === -20)){
+			return true
+		}else{
+			return false
+		}
+	},
+
 	willHitLeftWall: function(){
 		if( ( (this.snakeHead.boardPos - 1) %20 == 19) && (this.headPosition === -1) ){
 			return true
  *added logic for hitting bottom wall. If the
    snake hits the bottom wall it will come from
    the top in the same column.
diff --git a/src/snakeJSModel.js b/src/snakeJSModel.js
index e98ad8b..b1b055c 100644
--- a/src/snakeJSModel.js
+++ b/src/snakeJSModel.js
@@ -44,11 +44,21 @@ SnakeModel.prototype = {
 				this.snakeHead.boardPos += 19
 			}else if(this.willHitUpperWall()){
 				this.snakeHead.boardPos += 380
+			}else if(this.willHitBottomWall()){
+				this.snakeHead.boardPos -=380
 			}else{
 				this.snakeHead.boardPos += this.headPosition
 			}
 	},

+	willHitBottomWall: function(){
+		if( ( (this.snakeHead.boardPos +20 ) > 399 ) && (this.headPosition === 20)){
+			return true
+		}else{
+			return false
+		}
+	},
+
 	willHitUpperWall: function(){
 		if( ( (this.snakeHead.boardPos - 20) < 0) && (this.headPosition === -20)){
 			return true
  *Created a method to create fluid movement when user hits
    a key. There is no longer a delay or confusion with key
    entries to move the snake. This has added a secondary
    effect of being able to speed up the snake. I think
    I kind of like it. It could be seen as a bug, however.
  *I also changed the way the growth appended to the snake. Before
    the growth was given a null position and waited for the move
    method to give it a value. I decided that forcing a value on it
    as it was appended worked better and improved the fluidity of
    the view.
  *cleaned up a comment.
diff --git a/src/snakeJS.js b/src/snakeJS.js
index 275cb3e..b33cd54 100644
--- a/src/snakeJS.js
+++ b/src/snakeJS.js
@@ -63,25 +63,36 @@ SnakeGameController.prototype = {
 		  	case 37:
 		  		event.preventDefault()
 		  		this.Model.changeDirectionLeft();
+		  		this.generateFluidMoves()
 		  	break;

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

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

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

 	},
+
+	generateFluidMoves: function(){
+		clearInterval(this.conInterval)
+		this.executeTurn()
+		this.conInterval = setInterval(this.executeTurn.bind(this), 200)
+	},
+
 	startGame: function(){
 		this.conInterval = setInterval(this.executeTurn.bind(this), 200)
 	},
@@ -109,8 +120,6 @@ SnakeGameController.prototype = {
 	snakeHasEaten: function(){
 		this.setFood()
 		this.Model.growSnake();
-		this.Model.moveSnake();
-		this.fullViewRefresh();
 		this.playerScore +=1
 	},

diff --git a/src/snakeJSModel.js b/src/snakeJSModel.js
index b1b055c..41e43e4 100644
--- a/src/snakeJSModel.js
+++ b/src/snakeJSModel.js
@@ -13,7 +13,11 @@ SnakeModel.prototype = {
 	},

 	growSnake: function(){
-		this.snakeBody.push(new SnakeGrowth(null, this.snakeBodyLength()))
+		this.snakeBody.push(new SnakeGrowth(this.findLastPosition(), this.snakeBodyLength()))
+	},
+
+	findLastPosition: function(){
+		return this.snakeBody[(this.snakeBodyLength()-1)].boardPos
 	},

 	allSnakeBodyPositions: function(){
@@ -24,16 +28,6 @@ SnakeModel.prototype = {
 		return arrayOfPositions
 	},

-//OSIUDFLIWJEF:LKJSDF:LKSJEGF
-//EPIPHANY
-//Since we keep a record of the direction of the snake
-//we can figure out when its going to hit a left or right
-//wall. For example, if the snake's next position would be 41,
-//and its head position is 1, that means it was moving to the right
-//and has hit a wall. In theory I could make the walls now be death
-//conditions. But I kind of think I want to leave them open and make
-//the snake return to the same row when it passes the wall.
-//For now I will just make the snake not die at wall hit.
 	moveSnake: function(){
 		for(var x=(this.snakeBodyLength()-1); x>=1; x--){
 			this.snakeBody[x].boardPos = this.snakeBody[x-1].boardPos