diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..dade81e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+Gemfile.lock
+.bundled_gems/
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..96912da
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,30 @@
+source 'https://rubygems.org'
+
+group :development, :test do
+  gem 'puppetlabs_spec_helper', :require => false
+
+  gem 'metadata-json-lint'
+  # This is nice and all, but let's not worry about it until we've actually
+  # got puppet 4.x sorted
+  # gem 'puppet-lint-param-docs'
+  gem 'puppet-lint-absolute_classname-check'
+  gem 'puppet-lint-absolute_template_path'
+  gem 'puppet-lint-trailing_newline-check'
+
+  # Puppet 4.x related lint checks
+  gem 'puppet-lint-unquoted_string-check'
+  gem 'puppet-lint-empty_string-check'
+  gem 'puppet-lint-leading_zero-check'
+  gem 'puppet-lint-variable_contains_upcase'
+  gem 'puppet-lint-spaceship_operator_without_tag-check'
+  gem 'puppet-lint-undef_in_function-check'
+
+  if puppetversion = ENV['PUPPET_GEM_VERSION']
+    gem 'puppet', puppetversion, :require => false
+  else
+    gem 'puppet', '~> 3.0', :require => false
+  end
+
+end
+
+# vim:ft=ruby
diff --git a/manifests/init.pp b/manifests/init.pp
index 1e210f1..49b5fd0 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -5,7 +5,7 @@ class pip (
   $trusted_hosts = [],
   $manage_pip_conf = false,
 ) {
-  include pip::params
+  include ::pip::params
   validate_array($trusted_hosts)
 
   package { $::pip::params::python_devel_package:
diff --git a/manifests/python3.pp b/manifests/python3.pp
index 38a2412..284e537 100644
--- a/manifests/python3.pp
+++ b/manifests/python3.pp
@@ -1,7 +1,7 @@
 # Class: pip
 #
 class pip::python3 {
-  include pip::params
+  include ::pip::params
 
   package { $::pip::params::python3_devel_package:
     ensure => present,