anchor.diff:                 });
                }
              });
  -         } else {
  +         } else if (value == false) {
             createDirectory('${projectPath}/bin').then((Directory dir) {
               if (dir != null) {
                 Future<bool> dartFile = createFile('${projectPath}/bin/${projectName}.dart', TEMPLATE_DART_CMD);
  
positive.code:   Completer completer = new Completer();
    File file = new File(name);
  
    Future<File> createFile = file.create();
    createFile.then((File value) {
      if (value != null) {
        // this fails on OSX... why?
        Future<File> writeFile = file.writeAsString(contents, encoding:Encoding.UTF_8, mode:FileMode.WRITE);
  
        // this works on OSX but not on win...
        // Future<File> writeFile = file.writeAsString(contents, FileMode.WRITE);
        writeFile.then((File value) {
          if (value != null) {
            completer.complete(value);
          } else {
            completer.complete(false);
          }
        });
      } else {
        completer.complete(false);
      }
    });
    return completer.future;
  }
  
  Future<dynamic> createDirectory(String path) {
    Completer completer = new Completer();
    Directory dir = new Directory(path);
    dir.create().then((Directory dir) {
      if (dir != null) {
        completer.complete(dir);
      } else {
        completer.complete(false);
      }
    });
    return completer.future;
  }
  
  
negative.code: 
  Future<bool> prompt(String message) {
    print('$message[y/n]');
    Completer completer = new Completer();
    StringInputStream stream = new StringInputStream(stdin);
    stream.onLine = () {
      String answer = stream.readLine().toLowerCase().trim();
  