docs: function() {
      // the attributes for multi-profile itself
      this.attr = trait({
        path: {
          value: this.path,
          type: {
            readOnly: true,
            setup: function(value) {
              if (!fs.isDir(value)) {
                fs.mkdir(value);
              }
  
              var profiles = this.profiles_file = node_path.join(value, 'profiles');
              var current = this.current_file = node_path.join(value, 'current_profile');
  
              profile.touchFile(profiles);
              profile.touchFile(current);
            }
          }
        },
  
        // get or set the names of profiles
        profiles: {
          type: {
            getter: function() {
              return fs.read(this.profiles_file).split(/[\r\n]+/).filter(Boolean);
            },
  
            setter: function(profiles) {
              fs.write(this.profiles_file, profiles.join('\n'));
  
              return profiles;
            }
          }
        },
  
        // get or set the name of the current profile
        current: {
          type: {
            getter: function() {
              return fs.read(this.current_file).trim() || null;
            },
  
            setter: function(v) {
              fs.write(this.current_file, v);
  
              return v;
            }
          }
        }
      }, {
        host: this
      });
    }