    for dir in workingModules {
       let targetWorkingDir = srcDirPath + FILE_SEPARATOR + dir
       _ = fm.changeCurrentDirectoryPath(targetWorkingDir)
-      print("Attempting to enumerate " + targetWorkingDir)
       fileEnum = fm.enumerator(atPath: targetWorkingDir)
       while let fn = fileEnum?.nextObject() {
          print(fn)

      for dir in targetPath {
         targetFilePath += "\(dir)/"
      }
      print("returning \(targetFilePath)\(targetFile)")
      return targetFilePath + targetFile
   }

   let rootDirPath = fm.currentDirectoryPath
   print("Current directory is " + rootDirPath)
   //sort out Paho
   _ = fm.changeCurrentDirectoryPath(PAHO_SRC_DIR)
   _ = try fm.createDirectory(atPath: "include", withIntermediateDirectories: false)
   _ = fm.changeCurrentDirectoryPath(rootDirPath)
   print("Attempting to move " + PAHO_SRC_DIR + " to " + SOURCE_DIR + FILE_SEPARATOR + PAHO)
   _ = try fm.moveItem(atPath: PAHO_SRC_DIR, toPath: SOURCE_DIR + FILE_SEPARATOR + PAHO)
   
   /// create the module directories

      let fileName = String(describing: fn)
      ///only want source files or header files
      if fileName.hasSuffix(".cpp") || fileName.hasSuffix(".h") {
         var fileContents = try String(contentsOfFile: fileName, encoding: encoding)
         fileContents = fileContents.replacingOccurrences(of:MONITOR_SRC_DIR + AGENT_EXTENSIONS, with:AGENT_EXTENSIONS)
         for variation in linuxVariations {
