anchor.diff:  	File f;
   
   	static create(n,m) => new GuardedFile(path:n,readonly:m);
  -
  -  static Future isFilePath(String path){
  -    if(FileSystemEntity.typeSync(path) != FileSystemEntityType.File) return new Future.error(new FileSystemException('NOT A File!',path));
  -    return new Future.value(path);
  -  }
  +        static use(n,m) => new GuardedFile.openFile(path:n,readonly:m);
  +
  +        static Future isFilePath(String path){
  +          if(FileSystemEntity.typeSync(path) != FileSystemEntityType.File) return new Future.error(new FileSystemException('NOT A File!',path));
  +          return new Future.value(path);
  +        }
   
   	GuardedFile({String path, bool readonly: false}){
   		this.options = new MapDecorator.from({'readonly': readonly, 'path':path});
  
positive.code:   final cache = Hub.createMapDecorator();
    GuardedDirectory dir;
  
  
  	static Future pathExists(String path){
  		if(FileSystemEntity.typeSync(path) == FileSystemEntityType.NOT_FOUND) return new Future.error(new FileSystemException('NOT FOUND!',path));
  		return new Future.value(path);
  	}
  
    	static create(p,r) => new GuardedFS(p,r);
    	
  	GuardedFS(String path,bool readonly){
  		this.dir = GuardedDirectory.create(path,readonly);
  	}
  
  	Future fsCheck(String path){
  		var real = paths.join(this.dir.path,path);
  		if(FileSystemEntity.typeSync(real) == FileSystemEntityType.NOT_FOUND) return new Future.error(new FileSystemException('NOT FOUND!',real));
  		return new Future.value(real);
  	}
  	
  	dynamic File(String path){
  		if(this.cache.storage.length > 100) this.cache.flush();
  		var dira = this.cache.get(path);
  		if(dira != null && dira is GuardedFile) return dira; 
  		dira = this.dir.File(path);
  		this.cache.add(path,dira);
  		return dira;
  	}
  
  	dynamic Dir(String path,[bool rec]){
  		if(this.cache.storage.length > 100) this.cache.flush();
  		var dira = this.cache.get(path);
  		if(dira != null && dira is GuardedDirectory) return new Future.value(dira); 
  		dira = this.dir.createNewDir(path,rec);
  		return dira.then((_){
  		   this.cache.add(path,_);
  		   return _; 
  		});
  	}
  
  	dynamic directoryLists([String path,Function transform, bool rec,bool ff]){
  	  var dir = (path != null ? this.Dir(path,rec) : new Future.value(this.dir));
  	  return dir.then((_){
  	     return _.directoryLists(transform,rec,ff);
  	  });
  	}
  
  	dynamic directoryListsAsString([String path, bool rec,bool ff]){
      var dir = (path != null ? this.Dir(path,rec) : new Future.value(this.dir));
      return dir.then((_){
         return _.directoryListsAsString(rec,ff);
      });	
    }
  	
  	bool get isWritable => this.dir.isWritable;
  	
  }
  
negative.code: 	dynamic dm;
    
  	static create(n,m) => new GuardedDirectory(path:n,readonly:m);
  	static use(n,m) => new GuardedDirectory.openDir(path:n,readonly:m);
  	
  	GuardedDirectory({String path, bool readonly: false}){
              this.options = new MapDecorator.from({'readonly':readonly, 'path':path});
              this.links = new MapDecorator();
              this.d = new Directory(this.options.get('path'));
              this.writable = Switch.create();
              if(!readonly) this.writable.switchOn();
  	}
  
  	GuardedDirectory openDir({String path, bool readonly: false}){
              if(Valids.exist(path)){
                this.d = new Directory(path);
                if(Valids.not(this.d.existsSync())) throw new FileSystemException('$path does not exist!',path);
                this.options = new MapDecorator.from({'readonly':readonly, 'path':path});
                this.links = new MapDecorator();
                this.writable = Switch.create();
                if(!readonly) this.writable.switchOn();
              }
  	}
  
  	Future fsCheck(String path){
  