diff --git a/data/controls.lua b/data/controls.lua
index eaa4a3b..bec4621 100755
--- a/data/controls.lua
+++ b/data/controls.lua
@@ -18,7 +18,10 @@ controls = {
 			up =     "w",
 			down =   "s",
 			left =   "a",
-			right =  "d"
+			right =  "d",
+			engine = "space",
+			rotleft = "q",
+			rotright = "e"
 		},
 
 		-- Time Warp Controls:
diff --git a/src/calc.lua b/src/calc.lua
index 8805b31..ca4cc81 100755
--- a/src/calc.lua
+++ b/src/calc.lua
@@ -3,7 +3,7 @@ calc = {}
 
 -- G-Constant
 calc.G = 6.67e-11 -- TWEAKABLE FOR LATER DEPENDING ON SCALE!!!!!!!!!!!
-
+calc.pi = 3.14
 -- Development debugging/logging thing
 function calc.debug(text)
 	if calc.isDebug then
diff --git a/src/class/Player.lua b/src/class/Player.lua
index 4b0caa9..33cd552 100755
--- a/src/class/Player.lua
+++ b/src/class/Player.lua
@@ -23,6 +23,9 @@ function Player:init(tempX, tempY)
 
 	-- Mass:
 	self.m = 10
+
+	-- Rotation:
+	self.angle = calc.pi/2
 end
 
 
@@ -91,6 +94,21 @@ function Player:flightControls()
 		debug("Player control: right")
 	end
 
+
+	-- Main Engine controls:
+	if love.keyboard.isDown(controls.flight.thrust.engine) then 
+		self.xSpeed = self.xSpeed + math.cos(self.angle) * speedChange 
+		debug("Ship thrusters X: " .. math.cos(self.angle) .. " " .. math.sin(self.angle) .. " " .. self.angle)
+		self.ySpeed = self.ySpeed - math.sin(self.angle) * speedChange
+	end
+	if love.keyboard.isDown(controls.flight.thrust.rotleft) then 
+		self.angle = self.angle + 1/love.timer.getFPS()
+	end
+	if love.keyboard.isDown(controls.flight.thrust.rotright) then 
+		self.angle = self.angle - 1/love.timer.getFPS()
+	end
+
+
 	-- Reset:
 	if love.keyboard.isDown(controls.flight.reset) then
 		self:reset()
@@ -144,6 +162,12 @@ end
 
 function Player:update(dt)
 	--debug(self.warpspeed)
+  
+	if self.angle > calc.pi*2 then 
+		self.angle = 0
+	elseif self.angle < 0 then 
+		self.angle = calc.pi*2
+	end
 	self:gravity()
 	self:flightControls()
 	self:updatePosition()
@@ -163,10 +187,12 @@ function Player:draw()
 		-- Right Bottom
 		x+dist, y+dist
 	}
-
 	love.graphics.setColor(0.5, 0.5, 0.7)
 	love.graphics.polygon("fill", vertices)
 
 	love.graphics.setColor(1, 0, 0)
 	love.graphics.circle("fill", x, y, 5, 20)
+
+	-- Directional Circle (temporary until actual rotatable ship texture is made)
+	love.graphics.circle("fill", x+dist*math.cos(self.angle), y-dist*math.sin(self.angle), 3, 20)
 end
\ No newline at end of file