diff --git a/plugins/project/project.coffee b/plugins/project/project.coffee
new file mode 100644
index 000000000..2f316cc85
--- /dev/null
+++ b/plugins/project/project.coffee
@@ -0,0 +1,29 @@
+{Chrome, Dir, File, Process} = require 'osx'
+{bindKey} = require 'atomicity'
+$ = require 'jquery'
+
+exports.init = ->
+ @html = File.read(Chrome.appRoot() + "/plugins/project/project.html")
+
+ bindKey 'toggleProjectDrawer', 'Command-Ctrl-N', (env) =>
+ @toggle()
+
+exports.toggle = ->
+ if @showing
+ $('#project').parent().remove()
+ else
+ Chrome.addPane 'left', @html
+ @reload()
+
+ @showing = not @showing
+
+exports.reload = ->
+ dir = OSX.NSFileManager.defaultManager.currentDirectoryPath
+ $('#project .cwd').text(dir)
+
+ files = Dir.list(dir)
+ listItems = _.map files, (file) ->
+ file = file.replace(dir, "")
+ "
#{file}"
+
+ $('#project .files').append(listItems.join('\n'))
diff --git a/src/osx.coffee b/src/osx.coffee
index ea1328cdd..a9e6aafb8 100644
--- a/src/osx.coffee
+++ b/src/osx.coffee
@@ -154,24 +154,7 @@ Process =
env: ->
OSX.NSProcess.processInfo.environment()
-# Need to rename and move stuff like this
-Project =
- toggle: ->
- frameset = top.document.getElementsByTagName("frameset")[0]
- if @showing
- frameset.removeChild(frameset.firstChild)
- frameset.setAttribute('cols', '*')
- else
- frame = document.createElement("frame")
- frame.src = 'project.html'
- frameset.insertBefore(frame, frameset.firstChild)
- frameset.setAttribute('cols', '25%, *')
-
- @showing = not @showing
-
-exports ?= this
-
+exports ?= this # Do we even need this anymore? DOUBT IT!
exports.Chrome = Chrome
exports.File = File
exports.Dir = Dir
-exports.Project = Project