diff --git a/src/com/mirantis/mk/Yaml.groovy b/src/com/mirantis/mk/Yaml.groovy
deleted file mode 100644
index e26ae2e..0000000
--- a/src/com/mirantis/mk/Yaml.groovy
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.mirantis.mk
-
-@Grab(group='org.yaml', module='snakeyaml', version='1.17')
-import org.yaml.snakeyaml.Yaml
-import org.yaml.snakeyaml.DumperOptions
-
-/**
- * Helper class for YAML operations
- *
- */
-
-
-/**
- * Convert YAML document to Map object
- * @param data YAML string
- */
-@NonCPS
-def loadYAML(String data) {
-  def yaml = new Yaml()
-  return yaml.load(data)
-}
-
-
-/**
- * Convert Map object to YAML string
- * @param map Map object
- */
-@NonCPS
-def dumpYAML(Map map) {
-  def dumperOptions = new DumperOptions()
-  dumperOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK)
-  def yaml = new Yaml(dumperOptions)
-  return yaml.dump(map)
-}
