/// <summary>
        /// CreateDirectory
        /// </summary>
        /// <param name="name"></param>
        public void CreateDirectory(string name)
        {
            // get all names
            string secure_name     = GetSecureName(name);
            string dir_name        = StoragePath.GetDirectory(name);
            string secure_dir_name = GetSecureName(dir_name);

            // create descriptor file
            CreateDescriptorFile(name);

            // create/append xml file node to xml directory node
            XmlDocument doc = GetDirectoryDocument(secure_dir_name);

            AppendDirectoryXml(doc, name);

            // delete old dir file
            Store.Delete(secure_dir_name);
            // create new dir file
            string xml = doc.OuterXml;

            byte[] data           = Encoding.UTF8.GetBytes(xml);
            byte[] encrypted_data = crypto.Encrypt(data);
            Store.Create(secure_dir_name, encrypted_data, FileMode.Append);
        }