 				conditions = _id:project._id
 				inc = {}
 				inc["#{path.mongo}.rev"] = 1
+				 # we need to increment the project version number for any structure change
+				inc['version'] = 1
 				set = {}
 				set["#{path.mongo}.created"] = new Date()
 				update =

						return callback(error) if error?
						endPath = path.join(path.dirname(entPath.fileSystem), newName)
						conditions = {_id:project_id}
						update = "$set":{}
						namePath = entPath.mongo+".name"
						update["$set"][namePath] = newName
						Project.findOneAndUpdate conditions, update, { "new": true}, (error, newProject) ->
							return callback(error) if error?
							ProjectEntityHandler.getAllEntitiesFromProject newProject, (error, newDocs, newFiles) =>

		update = {"$unset":{}}
		update["$unset"][path] = 1
		model.update conditions, update, {}, (err)->
			pullUpdate = {"$pull":{}, "$inc":{}}
			nonArrayPath = path.slice(0, path.lastIndexOf("."))
			pullUpdate["$pull"][nonArrayPath] = null
			# we need to increment the project version number for any structure change
			pullUpdate["$inc"]["version"] = 1
			model.findOneAndUpdate conditions, pullUpdate, {"new": true}, callback

	_countElements: (project)->
