diff --git a/wetb/hawc2/htc_contents.py b/wetb/hawc2/htc_contents.py
index 5d602962603fef5ba1ce21461320999dd6971849..bd40ea4e2b004e22c953d6b472d774a7e53ee865 100644
--- a/wetb/hawc2/htc_contents.py
+++ b/wetb/hawc2/htc_contents.py
@@ -49,7 +49,13 @@ class HTCContents(object):
     name_ = ""
 
     def __setitem__(self, key, value):
-        self.contents[key] = value
+        if isinstance(key, str):
+            self.contents[key] = value
+        elif isinstance(key, int):
+            self.values[key] = value
+        else:
+            raise NotImplementedError
+            
 
     def __getitem__(self, key):
         if isinstance(key, str):
@@ -161,9 +167,9 @@ class HTCSection(HTCContents):
         return HTCLine.from_lines(lines)
 
     def __str__(self, level=0):
-        s = "%sbegin %s;%s\n" % ("  "*level, self.name_, ("", "\t" + self.begin_comments)[bool(self.begin_comments.strip())])
+        s = "%sbegin %s;%s\n" % ("  "*level, self.name_, (("", "\t" + self.begin_comments)[bool(self.begin_comments.strip())]).replace("\t\n","\n"))
         s += "".join([c.__str__(level + 1) for c in self])
-        s += "%send %s;%s\n" % ("  "*level, self.name_, ("", "\t" + self.end_comments)[self.end_comments.strip() != ""])
+        s += "%send %s;%s\n" % ("  "*level, self.name_, (("", "\t" + self.end_comments)[self.end_comments.strip() != ""]).replace("\t\n","\n"))
         return s
 
 class HTCLine(HTCContents):
@@ -276,7 +282,7 @@ class HTCSensor(HTCLine):
         self.type = type
         self.sensor = sensor
         self.values = values
-        self.comments = comments
+        self.comments = comments.strip(" \t")
 
     @staticmethod
     def from_lines(lines):
diff --git a/wetb/hawc2/htc_file.py b/wetb/hawc2/htc_file.py
index 287c33be0efc5e503566975fe6a880598e4f6e1e..2ae9e14518d7c0f06903f92904e35d594bdcdcb3 100644
--- a/wetb/hawc2/htc_file.py
+++ b/wetb/hawc2/htc_file.py
@@ -276,9 +276,9 @@ class HTCFile(HTCContents, HTCDefaults):
                          ('new_htc_structure/struct_inertia_output_file_name', 0),
                          ('new_htc_structure/body_eigenanalysis_file_name', 0),
                          ('new_htc_structure/constraint_output_file_name', 0),
-                         ('turb_export/filename_u', 0),
-                         ('turb_export/filename_v', 0),
-                         ('turb_export/filename_w', 0)]:
+                         ('wind/turb_export/filename_u', 0),
+                         ('wind/turb_export/filename_v', 0),
+                         ('wind/turb_export/filename_w', 0)]:
             line = self.get(k)
             if line:
                 files.append(line[index])
@@ -310,16 +310,17 @@ class HTCFile(HTCContents, HTCDefaults):
 
     def res_file_lst(self):
         self.contents # load if not loaded
-        if 'output' not in self:
-            return []
-        dataformat = self.output.get('data_format', 'hawc_ascii')
-        res_filename = self.output.filename[0]
-        if dataformat[0] == "gtsdf" or dataformat[0] == "gtsdf64":
-            return [res_filename + ".hdf5"]
-        elif dataformat[0] == "flex_int":
-            return [res_filename + ".int", os.path.join(os.path.dirname(res_filename), 'sensor')]
-        else:
-            return [res_filename + ".sel", res_filename + ".dat"]
+        res = []
+        for output in [self[k] for k in self.keys() if self[k].name_=="output"]:
+            dataformat = output.get('data_format', 'hawc_ascii')
+            res_filename = output.filename[0]
+            if dataformat[0] == "gtsdf" or dataformat[0] == "gtsdf64":
+                res.append(res_filename + ".hdf5")
+            elif dataformat[0] == "flex_int":
+                res.extend([res_filename + ".int", os.path.join(os.path.dirname(res_filename), 'sensor')])
+            else:
+                res.extend([res_filename + ".sel", res_filename + ".dat"])
+        return res
 
 
     def simulate(self, exe, skip_if_up_to_date=False):
diff --git a/wetb/hawc2/tests/test_files/htcfiles/test_2xoutput.htc b/wetb/hawc2/tests/test_files/htcfiles/test_2xoutput.htc
new file mode 100644
index 0000000000000000000000000000000000000000..4f1f951a1678e894433d2791e757cb94653492f7
--- /dev/null
+++ b/wetb/hawc2/tests/test_files/htcfiles/test_2xoutput.htc
@@ -0,0 +1,32 @@
+begin simulation;
+  time_stop	200;
+end simulation;
+begin dll;
+; 
+  begin type2_dll; 
+    name risoe_controller;
+    begin output;
+      general time; [s]
+      constraint bearing1 shaft_rot 1 only 2; Drivetrain speed [rad/s]
+    end output;     
+  end type2_dll;
+   begin type2_dll; 
+    name risoe_controller2;
+    begin output;
+      general time; [s]
+      constraint bearing1 shaft_rot 1 only 2; Drivetrain speed [rad/s]
+    end output;     
+  end type2_dll;
+end dll;
+begin output;
+  filename ./res/output1;
+  time 100 200;
+  general time;
+end output;
+begin output;
+  filename ./res/output2;
+  time 100 200;
+  general time;
+end output;
+exit;
+
diff --git a/wetb/hawc2/tests/test_htc_file.py b/wetb/hawc2/tests/test_htc_file.py
index e2237df20bafbe650a5834d9083c68236fc7605f..8d2515f26998fb4fe134a7935f8d278c76a73d82 100644
--- a/wetb/hawc2/tests/test_htc_file.py
+++ b/wetb/hawc2/tests/test_htc_file.py
@@ -278,7 +278,18 @@ class TestHtcFile(unittest.TestCase):
         self.assertRaisesRegex(ValueError, "Modelpath cannot be autodetected", HTCFile, self.testfilepath + "test2.htc")
          
           
-
+    def test_open_eq_save(self):
+        HTCFile(self.testfilepath + "test3.htc","../").save(self.testfilepath + "tmp.htc")
+        htcfile = HTCFile(self.testfilepath + "tmp.htc","../")
+        htcfile.save(self.testfilepath + "tmp.htc")
+        self.assertEqual(str(htcfile).count("\t"), str(HTCFile(self.testfilepath + "tmp.htc", "../")).count("\t"))
+        self.assertEqual(str(htcfile), str(HTCFile(self.testfilepath + "tmp.htc", "../")))
+        
+    def test_2xoutput(self):
+        htc = HTCFile(self.testfilepath + "test_2xoutput.htc","../")
+        self.assertEqual(len(htc.res_file_lst()), 4)
+        
+    
 
 if __name__ == "__main__":
     #import sys;sys.argv = ['', 'Test.testName']