 		id = generateUid()
 
 		# there's a 16^16 chance of conflicting, but hey
-		while fs.existsSync(path.join(@notebookdir, id))
+		while fs.existsSync(path.join(@notebookdir, id  + ".json"))
 			id = generateUid()
 
-		fs.mkdirSync(path.join(@notebookdir, id))
-		fs.writeFile path.join(@notebookdir, id, "meta.json"),
+		fs.writeFile path.join(@notebookdir, id + ".json"),
 			JSON.stringify {
 				id: id
 				name: name

	createNote: (name, notebook, content) ->
		id = generateUid()

		while fs.existsSync(path.join(@notebookdir, notebook, id  + ".noted"))
			id = generateUid()

		fs.writeFile path.join(@notebookdir, notebook, id  + ".noted"),
			JSON.stringify {
				id: id
				name: name

	constructor: (@notebookdir) ->

	###
	# Finds the filename of a particular note id
	# @param {String} id The note you're searching for
	# @return {String} filename The found filename
	###
	filenameNote: (id) ->
		files = fs.readdirSync @notebookdir

		# Low level loop because perf?
		i = 0
		while i >= 0
			# Finds the filename
			if files[i] is undefined or files[i].match("."+id+".noted")
				return files[i]
			i++

	###
	# Creates a new notebook
	# @param {String} name The notebook name
	# @return {String} id The new notebook id
