refactored to real Puppet modules