diff --git a/facts/lve_version.rb b/facts/lve_version.rb
deleted file mode 100644
index 62f0600..0000000
--- a/facts/lve_version.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-Facter.add(:lve_version) do
-  setcode do
-    kern_name = Facter::Core::Execution.exec('uname -r')
-    lve_version = kern_name.split('lve')[1].split('.')[0:3]
-  end
-end
diff --git a/lib/facter/lve_version.rb b/lib/facter/lve_version.rb
new file mode 100644
index 0000000..92871d8
--- /dev/null
+++ b/lib/facter/lve_version.rb
@@ -0,0 +1,8 @@
+Facter.add(:lve_version) do
+  confine :osfamily => 'RedHat'
+  confine :operatingsystem => 'CloudLinux'
+  setcode do
+    lve_version = `lveutils lve-version`
+    lve_version
+  end
+end
diff --git a/lib/facter/lveutils_version.rb b/lib/facter/lveutils_version.rb
new file mode 100644
index 0000000..4ca74cf
--- /dev/null
+++ b/lib/facter/lveutils_version.rb
@@ -0,0 +1,7 @@
+Facter.add(:lveutils_version) do
+  confine :osfamily => 'RedHat'
+  confine :operatingsystem => 'CloudLinux'
+  setcode do
+    lve_ver = `lvectl --version`.split('-')[0]
+  end
+end
diff --git a/manifests/config.pp b/manifests/config.pp
index 39ea03e..26aa2b8 100644
--- a/manifests/config.pp
+++ b/manifests/config.pp
@@ -1,12 +1,12 @@
 class clve::config inherits clve {

-  if $operatingsystem != 'CloudLinux' {
+  if $::operatingsystem != 'CloudLinux' {
     fail("Module ${module_name} does not support ${::operatingsystem}")
   }

-  file { $lve_cfg_path:
+  file { $clve::lve_cfg_path:
     ensure  => file,
     mode    => '0644',
-    content => template("clve/${lve_config_template}")
+    content => template("clve/${clve::lve_config_template}")
   }
 }
diff --git a/manifests/exec.pp b/manifests/exec.pp
index f911bdc..fc98761 100644
--- a/manifests/exec.pp
+++ b/manifests/exec.pp
@@ -1,7 +1,6 @@
 class clve::exec inherits clve {
-
-  exec { $lve_notify_command:
-    command => "${lve_notify_command}",
+  exec { $clve::lve_notify_command:
+    command     => $clve::lve_notify_command,
     refreshonly => true,
   }
 }
diff --git a/manifests/init.pp b/manifests/init.pp
index 282a431..2f218b5 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -107,7 +107,7 @@ class clve(
   $lve_defaults         = $clve::params::lve_defaults,
   $lve_notify_command   = $clve::params::lve_notify_command,

-  ) inherits clve::params {
+  ) {
     include clve::config
     include clve::exec

diff --git a/manifests/params.pp b/manifests/params.pp
index 278f945..57b5188 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -5,12 +5,12 @@ class clve::params {
   $lve_packages         = {}
   $lve_users            = {}
   $lve_defaults         = {
-    speed => "100%",
-    pmem  => "262144",
-    vmem  => "0",
-    io    => "1024",
-    nproc => "100",
-    ep    => "20"
+    speed => '100%',
+    pmem  => '262144',
+    vmem  => '0',
+    io    => '1024',
+    nproc => '100',
+    ep    => '20'
   }
   $lve_notify_command   = '/usr/sbin/lvectl apply all'
 }