diff --git a/_modules/reclass.py b/_modules/reclass.py
index 6caa4c8..5b5d97a 100644
--- a/_modules/reclass.py
+++ b/_modules/reclass.py
@@ -9,13 +9,16 @@
 import logging
 import os
 import sys
+import six
 import yaml
+import json
 
 LOG = logging.getLogger(__name__)
 
 RECLASS_NODES_DIR = "/srv/salt/reclass/nodes"
 RECLASS_CLASSES_DIR = "/srv/salt/reclass/classes"
 
+
 def __virtual__():
     '''
     Only load this module if reclass
@@ -61,12 +64,18 @@
     if classes == None:
         meta_classes = []
     else:
-        meta_classes = classes
+        if isinstance(classes, six.string_types):
+            meta_classes = json.loads(classes)
+        else:
+            meta_classes = classes
 
     if parameters == None:
         meta_parameters = {}
     else:
-        meta_parameters = parameters
+        if isinstance(parameters, six.string_types):
+            meta_parameters = json.loads(parameters)
+        else:
+            meta_parameters = parameters
 
     node_meta = {
         'classes': meta_classes,
@@ -90,7 +99,7 @@
         file_path = os.path.join(RECLASS_NODES_DIR, path, name + '.yml')
 
     with open(file_path, 'w') as node_file:
-        node_file.write(yaml.dump(node_meta, default_flow_style=False) )
+        node_file.write(yaml.safe_dump(node_meta, default_flow_style=False))
 
     return node_get(name)
 
