diff --git a/.category b/.category
new file mode 100644
index 0000000..19814b6
--- /dev/null
+++ b/.category
@@ -0,0 +1 @@
+Utilities
diff --git a/.foodcritic b/.foodcritic
new file mode 100644
index 0000000..c9f6c02
--- /dev/null
+++ b/.foodcritic
@@ -0,0 +1 @@
+[FC048]
diff --git a/.gitignore b/.gitignore
index 73955be..ec2a890 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
+.vagrant
+Berksfile.lock
 *~
 *#
 .#*
@@ -5,11 +7,10 @@
 .*.sw[a-z]
 *.un~
 
-Berksfile.lock
+# Bundler
 Gemfile.lock
-.vagrant
-Vagrantfile
-.bundle
-.coverage
-.kitchen
-.kitchen.local.yml
\ No newline at end of file
+bin/*
+.bundle/*
+
+.kitchen/
+.kitchen.local.yml
diff --git a/.kitchen.yml b/.kitchen.yml
index 27c9668..4f112bc 100644
--- a/.kitchen.yml
+++ b/.kitchen.yml
@@ -1,30 +1,38 @@
 ---
-driver_plugin: vagrant
-driver_config:
-  require_chef_omnibus: true
+driver:
+  name: vagrant
+
+provisioner:
+  name: chef_zero
+  solo_rb:
+    ssl_verify_mode: verify_peer
 
 platforms:
+  - name: ubuntu-12.04
+    run_list:
+      - recipe[apt]
+
   - name: ubuntu-14.04
+    run_list:
+      - recipe[apt]
 
 suites:
-  - name: default
-    run_list:
-      - recipe[pdepend::default]
-  - name: pear
+  - name: default_pear
     run_list:
       - recipe[pdepend::default]
     attributes:
       pdepend:
         install_method: pear
-  - name: composer
+  - name: default_composer
     run_list:
       - recipe[pdepend::default]
     attributes:
       pdepend:
         install_method: composer
-  - name: phar
+  - name: default_phar
     run_list:
       - recipe[pdepend::default]
     attributes:
       pdepend:
         install_method: phar
+
diff --git a/.travis.yml b/.travis.yml
index dfcac19..18875c8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,19 +1,32 @@
-language: ruby
+# install the stable release of the Chef Development Kit (ChefDK)
+# use chef-current-precise to install the pre-release
+addons:
+  apt:
+    sources:
+      - chef-stable-precise
+    packages:
+      - chefdk
 
-rvm:
-  - 2.0.0
-  - 2.1.0
+services: docker
+
+# https://docs.travis-ci.com/user/customizing-the-build/#Skipping-the-Installation-Step
+install: true
 
 before_script:
-  - bundle exec berks install
+  - eval "$(/opt/chefdk/bin/chef shell-init bash)" # make ChefDK's Ruby the default
+  - chef --version
+  - chef exec berks install
 
 script:
-  - bundle exec rake travis
+  - chef exec rake travis
 
 branches:
   only:
     - master
+    - /^release\/.*$/
+    - /^feature\/.*$/
+    - /^bugfix\/.*$/
 
 notifications:
   email:
-    - dev@escapestudios.com
+    - development@davidjoos.com
diff --git a/Berksfile b/Berksfile
index ab60e37..34fea21 100644
--- a/Berksfile
+++ b/Berksfile
@@ -1,3 +1,3 @@
-source 'https://supermarket.getchef.com'
+source 'https://supermarket.chef.io'
 
 metadata
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6e6fa3b..4a235e9 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,12 +4,12 @@ Contributing
 1. Fork it
 2. Create your feature branch (`git checkout -b my-new-feature`)
 3. Commit your changes (`git commit -am 'Add some feature'`)
-4. [Add tests for your changes](https://github.com/escapestudios-cookbooks/pdepend/blob/master/TESTING.md)
+4. [Add tests for your changes](https://github.com/djoos-cookbooks/pdepend/blob/master/TESTING.md)
 4. Push your changes to your feature branch (`git push origin my-new-feature`)
-5. Create a new Pull Request (PR)
+5. Create a new PR (Pull Request)
 
 ## Testing
-Contributions will only be accepted if they are fully tested as specified in [TESTING.md](https://github.com/escapestudios-cookbooks/pdepend/blob/master/TESTING.md).
+Contributions will only be accepted if they are fully tested as specified in [TESTING.md](https://github.com/djoos-cookbooks/pdepend/blob/master/TESTING.md).
 
 ## metadata.rb
 Please do not modify the version number in the metadata.rb; not all changes to the cookbook may be merged and released in the same version. We will handle the version updates during the release process.
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index 4a9c767..0000000
--- a/Gemfile
+++ /dev/null
@@ -1,22 +0,0 @@
-source 'https://rubygems.org'
-
-gem 'rake'
-
-group :lint do
-  gem 'rubocop', '~> 0.18'
-  gem 'foodcritic', '~> 3.0'
-end
-
-group :unit, :integration do
-  gem 'berkshelf',  '~> 3.0'
-end
-
-group :unit do
-  gem 'chefspec', '~> 4.0'
-end
-
-group :integration do
-  gem 'test-kitchen', '~> 1.2'
-  gem 'kitchen-vagrant', '~> 0.11'
-  gem 'serverspec', '~> 2.0'
-end
diff --git a/README.md b/README.md
index 7614ca6..1e2e7c9 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,22 @@
-[![Build Status](https://secure.travis-ci.org/escapestudios-cookbooks/pdepend.png)](http://travis-ci.org/escapestudios-cookbooks/pdepend)
+[![Build Status](https://travis-ci.org/djoos-cookbooks/pdepend.png)](http://travis-ci.org/djoos-cookbooks/pdepend)
 
-Description
-===========
+# pdepend cookbook
+
+## Description
 
 This cookbook provides an easy way to install pdepend, PHP_Depend.
 
 More information?
 http://pdepend.org/
 
-Requirements
-============
+## Requirements
 
-## Cookbooks:
+### Cookbooks:
 
 * php
 * composer
 
-## Platforms:
+### Platforms:
 
 * Ubuntu
 * Debian
@@ -26,8 +26,7 @@ Requirements
 * Scientific
 * Amazon
 
-Attributes
-==========
+## Attributes
 
 * `node['pdepend']['install_method']` - Installation method, "pear", "composer" or "phar" defaults to "pear"
 * `node['pdepend']['version']` - The pdepend version that will be installed, defaults to "latest"
@@ -37,22 +36,22 @@ Usage
 =====
 
 1) include `recipe[pdepend]` in a run list
-2)
-    change the attributes
-    --- OR ---
-    override the attribute on a higher level (http://wiki.opscode.com/display/chef/Attributes#Attributes-AttributesPrecedence)
+2) change the attributes
+--- OR ---
+[override the attribute on a higher level](http://wiki.opscode.com/display/chef/Attributes#Attributes-AttributesPrecedence)
 
-References
-==========
+## References
 
 * [pdepend home page] (http://pdepend.org/)
 
-License and Authors
-===================
+## License and Authors
+
+Author: David Joos <development@davidjoos.com>
+Copyright: 2016, David Joos
 
 Author: David Joos <david.joos@escapestudios.com>
 Author: Escape Studios Development <dev@escapestudios.com>
-Copyright: 2013-2014, Escape Studios
+Copyright: 2013-2015, Escape Studios
 
 Unless otherwise noted, all files are released under the MIT license,
 possible exceptions will contain licensing information in them.
diff --git a/Rakefile b/Rakefile
index 0f6c22f..02056cf 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,34 +1,222 @@
 require 'rspec/core/rake_task'
+require 'chef/cookbook/metadata'
+require 'yaml'
 
-# syntax/lint checks: RuboCop & Foodcritic
-namespace :lint do
+environment = ENV['ENVIRONMENT'] || ''
+
+# this module groups useful general commands together
+module GeneralCommands
+  @logging = ENV['LOGGING'] || true
+
+  def self.run(cmd, *expected_exitstatuses)
+    puts "+ #{cmd}" if @logging
+    output = `#{cmd} 2>&1`
+    puts output.gsub(/^/, '- ') if @logging
+    expected_exitstatuses << 0 if expected_exitstatuses.empty?
+    error_message = "ERROR: '#{cmd}' failed with exit status #{$CHILD_STATUS.exitstatus}"
+    raise StandardError, error_message unless [expected_exitstatuses].flatten.include?($CHILD_STATUS.exitstatus)
+    output
+  end
+
+  def self.parse_metadata(metadata_file = 'metadata.rb')
+    metadata = Chef::Cookbook::Metadata.new
+    metadata.from_file(metadata_file)
+
+    metadata
+  end
+end
+
+# this module groups useful release commands together
+module ReleaseCommands
+  def self.ensure_working_directory_state(allowed_modified_files = [])
+    modified_files = GeneralCommands.run('git diff --name-only', 0, 1)
+    modified_files = modified_files.split(/\n+/)
+
+    return if allowed_modified_files.uniq.sort == modified_files.uniq.sort
+    raise '[RELEASE] Working directory is in an unexpected state'
+  end
+
+  def self.verify_tag(should_exist = false)
+    return if GeneralCommands.run("git rev-parse -q --verify \"refs/tags/#{version}\"", 0, 1).empty? != should_exist
+
+    suffix = if should_exist == true
+               'does not exist'
+             else
+               'already exists'
+             end
+
+    raise "[RELEASE] Tag (#{version}) #{suffix}"
+  end
+
+  def self.version
+    GeneralCommands.parse_metadata.version
+  end
+
+  def self.name
+    GeneralCommands.parse_metadata.name
+  end
+
+  def self.category
+    file_name = '.category'
+
+    if File.exist?(file_name)
+      File.read(file_name).strip
+    else
+      ''
+    end
+  end
+
+  def self.pre_publish
+    GitCommands.ensure_branch('master')
+
+    ReleaseCommands.ensure_working_directory_state
+  end
+
+  def self.publish_to_scm
+    ReleaseCommands.pre_publish
+
+    ReleaseCommands.verify_tag(false)
+
+    puts 'Creating an annotated tag...'
+    GitCommands.tag(ReleaseCommands.version)
+
+    puts 'Push tag to remote repository...'
+    GitCommands.push_tags('origin', 'master', ReleaseCommands.version)
+  end
+
+  def self.publish_to_chef_server
+    ReleaseCommands.pre_publish
+
+    ReleaseCommands.verify_tag(true)
+
+    puts 'Updating Berkshelf...'
+    BerkshelfCommands.update
+
+    puts 'Packaging cookbooks (creating a single archive containing all of your required cookbooks)'
+    BerkshelfCommands.package('cookbooks.tar.gz')
+
+    puts 'Installing packaged cookbooks into Chef Server'
+    BerkflowCommands.install('cookbooks.tar.gz')
+  end
+
+  def self.publish_to_chef_supermarket
+    ReleaseCommands.pre_publish
+
+    ReleaseCommands.verify_tag(true)
+
+    cookbook_name = ReleaseCommands.name
+    cookbook_category = ReleaseCommands.category
+
+    if cookbook_name.blank? || cookbook_category.blank?
+      puts 'Skipped sharing to the Chef Supermarket - cookbook name and/or category not set. Set it and run \'publish:chef:supermarket\' separately if needed.'
+    else
+      puts 'Sharing to the Chef Supermarket...'
+
+      KnifeCommands.share(cookbook_name, cookbook_category)
+    end
+  end
+
+  def self.release(environment = '')
+    raise 'You must specify an environment name.' if environment.blank?
+
+    ReleaseCommands.ensure_working_directory_state
+    ReleaseCommands.verify_tag(true)
+
+    puts "Applying the cookbook version locks to the '#{environment}'-Chef environment"
+    BerkshelfCommands.apply(environment)
+  end
+end
+
+# this module groups useful berkshelf commands together
+module BerkshelfCommands
+  def self.update
+    return if GeneralCommands.run('chef exec berks update', 0, 1)
+    raise '[BERKSHELF] Failed to update'
+  end
+
+  def self.package(archive_filename = 'cookbooks.tar.gz')
+    raise '[BERKSHELF] You must specify an archive filename.' if archive_filename.blank?
+
+    return if GeneralCommands.run("chef exec berks package #{archive_filename}", 0, 1)
+    raise "[BERKSHELF] Failed to create #{archive_filename}-archive"
+  end
+
+  def self.apply(environment = '')
+    raise '[BERKSHELF] You must specify an environment.' if environment.blank?
+
+    return unless GeneralCommands.run("chef exec berks apply #{environment}", 0, 1).empty?
+    raise "[BERKSHELF] Failed to apply the cookbook version locks to the '#{environment}'-Chef environment"
+  end
+end
+
+# this module groups useful berkflow commands together
+module BerkflowCommands
+  def self.install(archive_filename = 'cookbooks.tar.gz')
+    raise '[BERKFLOW] You must specify an archive filename.' if archive_filename.blank?
+
+    return if /Done./ =~ GeneralCommands.run("chef exec blo in #{archive_filename}", 0, 1)
+    raise "[BERKFLOW] Failed to install packaged cookbooks #{archive_filename} into Chef Server"
+  end
+end
+
+# this module groups useful git commands together
+module GitCommands
+  def self.ensure_branch(branch = 'master')
+    raise '[GIT] You must specify a branch.' if branch.blank?
+
+    return if /#{branch}/ =~ GeneralCommands.run('git rev-parse --abbrev-ref HEAD', 0, 1)
+    raise '[GIT] Currently working on unexpected branch'
+  end
+
+  def self.tag(tag = '')
+    raise '[GIT] You must specify a tag.' if tag.blank?
+
+    return if GeneralCommands.run("git tag -a #{tag} -m '#{tag}'", 0, 1)
+    raise '[GIT] Failed to tag'
+  end
+
+  def self.push_tags(remote = 'origin', branch = 'master', tag = '')
+    raise '[GIT] You must specify a remote.' if remote.blank?
+    raise '[GIT] You must specify a branch.' if branch.blank?
+    raise '[GIT] You must specify a tag.' if tag.blank?
+
+    return if GeneralCommands.run("git push #{remote} #{branch} --tags", 0, 1)
+    raise '[GIT] Failed to push to remote'
+  end
+end
+
+# this module groups useful knife commands together
+module KnifeCommands
+  def self.share(cookbook_name = '', cookbook_category = '')
+    raise '[KNIFE] Missing cookbook name.' if cookbook_name.blank?
+    raise '[KNIFE] Missing cookbook category.' if cookbook_category.blank?
+
+    return if /Upload complete/ =~ GeneralCommands.run("chef exec knife supermarket share '#{cookbook_name}' '#{cookbook_category}' --cookbook-path ../", 0, 1)
+    raise "[KNIFE] Failed to publish the #{cookbook_name}-cookbook on the Chef Supermarket"
+  end
+end
+
+namespace :style do
   require 'rubocop/rake_task'
   require 'foodcritic'
 
-  desc 'Run Ruby syntax/lint checks'
+  desc 'Run Ruby style checks (RuboCop)'
   RuboCop::RakeTask.new(:ruby)
 
-  desc 'Run Chef syntax/lint checks'
-  FoodCritic::Rake::LintTask.new(:chef) do |task|
-    task.options = {
-      :tags => ['~FC048'],
-      :fail_tags => ['any']
-    }
-  end
+  desc 'Run Chef style checks (FoodCritic)'
+  FoodCritic::Rake::LintTask.new(:chef)
 end
 
 desc 'Run all syntax/lint checks'
-task :lint => ['lint:ruby', 'lint:chef']
+task :style => ['style:ruby', 'style:chef']
 
-# unit testing: ChefSpec
-desc 'Run RSpec and ChefSpec unit tests'
-RSpec::Core::RakeTask.new(:unit)
+desc 'Run ChefSpec tests'
+RSpec::Core::RakeTask.new(:spec)
 
-# integration testing: Test Kitchen
 namespace :integration do
   require 'kitchen'
 
-  desc 'Run Test Kitchen integration tests with Vagrant'
+  desc 'Run integration tests (Test Kitchen & Vagrant)'
   task :vagrant do
     Kitchen.logger = Kitchen.default_file_logger
     Kitchen::Config.new.instances.each do |instance|
@@ -37,12 +225,45 @@ namespace :integration do
   end
 end
 
+namespace :publish do
+  desc 'Publish to SCM'
+  task :scm do
+    ReleaseCommands.publish_to_scm
+  end
+
+  namespace :chef do
+    desc 'Publish to Chef Server'
+    task :server do
+      ReleaseCommands.publish_to_chef_server
+    end
+
+    desc 'Publish to Chef Supermarket'
+    task :supermarket do
+      ReleaseCommands.publish_to_chef_supermarket
+    end
+  end
+
+  task :all => ['scm', 'chef:supermarket', 'chef:server']
+end
+
+desc 'Run lint checks'
+task :lint => %w(style)
+
+desc 'Run unit tests'
+task :unit => %w(spec)
+
+desc 'Run Travis CI tests'
+task :travis => %w(lint unit)
+
 desc 'Run all integration tests'
-task :integration => ['integration:vagrant']
+task :integration => %w(integration:vagrant)
 
-# Travic CI
-desc 'Run tests on Travis CI'
-task :travis => [:lint, :unit]
+desc 'Publish'
+task :publish => %w(publish:scm publish:chef:supermarket publish:chef:server)
+
+desc 'Release'
+task :release do
+  ReleaseCommands.release(environment)
+end
 
-# the default rake task should just run it all
-task :default => [:lint, :unit, :integration]
+task :default => %w(lint unit integration)
diff --git a/TESTING.md b/TESTING.md
index f8ad216..7a39826 100644
--- a/TESTING.md
+++ b/TESTING.md
@@ -1,47 +1,25 @@
-Testing the cookbook
-====================
+# Testing the cookbook
 
-Contributions to this cookbook will only be accepted if all tests pass successfully:
+Contributions to this cookbook will only be accepted if all tests pass successfully.
 
-* Ruby syntax/lint checks: [RuboCop](http://batsov.com/rubocop/)
-* Chef syntax/lint checks: [Foodcritic](http://acrmp.github.io/foodcritic/)
-* Unit tests: [ChefSpec](http://code.sethvargo.com/chefspec/)
-* Integration tests: [Test Kitchen](http://kitchen.ci/)
+## Setting up the test environment
 
-Setting up the test environment
--------------------------------
+Install the latest stable version of [ChefDK](https://downloads.chef.io/chef-dk/). You'll need [Vagrant](http://www.vagrantup.com/downloads.html) and [VirtualBox](https://www.virtualbox.org/wiki/Downloads) for running integration tests.
 
-Install the latest version of [Vagrant](http://www.vagrantup.com/downloads.html) and [VirtualBox](https://www.virtualbox.org/wiki/Downloads) (free) or [VMWare Fusion](http://www.vmware.com/products/fusion) (paid).
+## Running tests
 
-Clone the latest version of the cookbook from the repository.
+### Style checks
 
-    git clone git@github.com:escapestudios-cookbooks/pdepend.git
-    cd pdepend
+`chef exec rake style`
 
-Install the gems used for testing:
+### Unit tests
 
-    bundle install
+`chef exec rake unit`
 
-Install the berkshelf plugin for vagrant:
+## Integration tests
 
-    vagrant plugin install vagrant-berkshelf
+`chef exec rake integration`
 
-Running syntax/lint checks
---------------------------
+## All checks/tests
 
-    bundle exec rake lint
-
-Running unit tests
-------------------
-
-    bundle exec rake unit
-
-Running integration tests
--------------------------
-
-    bundle exec rake integration
-
-Running all checks/tests
-------------------------
-
-    bundle exec rake
\ No newline at end of file
+`chef exec rake`
diff --git a/Thorfile b/Thorfile
index 9751d1b..620a241 100644
--- a/Thorfile
+++ b/Thorfile
@@ -45,7 +45,7 @@ class Default < Thor
   end
 
   def clean?
-    sh_with_excode('git diff --exit-code')[1] == 0
+    (sh_with_excode('git diff --exit-code')[1]).zero?
   end
 
   def tag_version
@@ -75,18 +75,16 @@ class Default < Thor
   def sh(cmd, dir = source_root, &block)
     out, code = sh_with_excode(cmd, dir, &block)
 
-    if code == 0
+    if code.zero?
       out
     else
-      msg = nil
+      msg = if out.empty?
+              "Running `#{cmd}` failed. Run this command directly for more detailed output."
+            else
+              out
+            end
 
-      if out.empty?
-        msg = "Running `#{cmd}` failed. Run this command directly for more detailed output."
-      else
-        msg = out
-      end
-
-      fail(msg)
+      raise(msg)
     end
   end
 
@@ -96,7 +94,7 @@ class Default < Thor
 
     Dir.chdir(dir) do
       outbuf = `#{cmd}`
-      block.call(outbuf) if $CHILD_STATUS == 0 && block
+      yield(outbuf) if $CHILD_STATUS.zero? && block
     end
 
     [outbuf, $CHILD_STATUS]
diff --git a/attributes/composer.rb b/attributes/composer.rb
index 39b2bb0..d4a7d5a 100644
--- a/attributes/composer.rb
+++ b/attributes/composer.rb
@@ -2,7 +2,7 @@
 # Cookbook Name:: pdepend
 # Attributes:: composer
 #
-# Copyright 2013-2014, Escape Studios
+# Copyright (c) 2016, David Joos
 #
 
 default['pdepend']['prefix'] = '/usr/bin'
diff --git a/attributes/default.rb b/attributes/default.rb
index dfebeaa..790df85 100644
--- a/attributes/default.rb
+++ b/attributes/default.rb
@@ -2,7 +2,7 @@
 # Cookbook Name:: pdepend
 # Attributes:: default
 #
-# Copyright 2013-2014, Escape Studios
+# Copyright (c) 2016, David Joos
 #
 
 default['pdepend']['install_method'] = 'composer'
diff --git a/attributes/phar.rb b/attributes/phar.rb
index 0d5d433..9ed7775 100644
--- a/attributes/phar.rb
+++ b/attributes/phar.rb
@@ -2,7 +2,7 @@
 # Cookbook Name:: pdepend
 # Attributes:: phar
 #
-# Copyright 2013-2014, Escape Studios
+# Copyright (c) 2016, David Joos
 #
 
 default['pdepend']['phar_url'] = 'http://static.pdepend.org/php/latest/pdepend.phar'
diff --git a/chefignore b/chefignore
deleted file mode 100644
index a6de142..0000000
--- a/chefignore
+++ /dev/null
@@ -1,96 +0,0 @@
-# Put files/directories that should be ignored in this file when uploading
-# or sharing to the community site.
-# Lines that start with '# ' are comments.
-
-# OS generated files #
-######################
-.DS_Store
-Icon?
-nohup.out
-ehthumbs.db
-Thumbs.db
-
-# SASS #
-########
-.sass-cache
-
-# EDITORS #
-###########
-\#*
-.#*
-*~
-*.sw[a-z]
-*.bak
-REVISION
-TAGS*
-tmtags
-*_flymake.*
-*_flymake
-*.tmproj
-.project
-.settings
-mkmf.log
-
-## COMPILED ##
-##############
-a.out
-*.o
-*.pyc
-*.so
-*.com
-*.class
-*.dll
-*.exe
-*/rdoc/
-
-# Testing #
-###########
-.watchr
-.rspec
-spec/*
-spec/fixtures/*
-test/*
-features/*
-Guardfile
-Procfile
-
-# SCM #
-#######
-.git
-*/.git
-.gitignore
-.gitmodules
-.gitconfig
-.gitattributes
-.svn
-*/.bzr/*
-*/.hg/*
-*/.svn/*
-
-# Berkshelf #
-#############
-Berksfile
-Berksfile.lock
-cookbooks/*
-tmp
-
-# Cookbooks #
-#############
-CONTRIBUTING
-CHANGELOG*
-
-# Strainer #
-############
-Colanderfile
-Strainerfile
-.colander
-.strainer
-
-# Vagrant #
-###########
-.vagrant
-Vagrantfile
-
-# Travis #
-##########
-.travis.yml
diff --git a/libraries/helpers.rb b/libraries/helpers.rb
index 8d221de..881833c 100644
--- a/libraries/helpers.rb
+++ b/libraries/helpers.rb
@@ -2,7 +2,7 @@
 # Cookbook Name:: pdepend
 # Library:: helpers
 #
-# Copyright 2013-2015, Escape Studios
+# Copyright (c) 2016, David Joos
 #
 
 # PDEPEND module
diff --git a/metadata.rb b/metadata.rb
index 1816442..830a9a1 100644
--- a/metadata.rb
+++ b/metadata.rb
@@ -1,15 +1,18 @@
 name 'pdepend'
-maintainer 'Escape Studios'
-maintainer_email 'dev@escapestudios.com'
+maintainer 'David Joos'
+maintainer_email 'development@davidjoos.com'
 license 'MIT'
 description 'Installs/Configures pdepend'
 long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
 version '1.1.0'
 
-%w( debian ubuntu redhat centos fedora scientific amazon ).each do |os|
+%w(debian ubuntu redhat centos fedora scientific amazon).each do |os|
   supports os
 end
 
+source_url 'https://github.com/djoos-cookbooks/pdepend' if respond_to?(:source_url)
+issues_url 'https://github.com/djoos-cookbooks/pdepend/issues' if respond_to?(:issues_url)
+
 depends 'php'
 depends 'composer'
 
diff --git a/recipes/composer.rb b/recipes/composer.rb
index bb56af1..78df620 100644
--- a/recipes/composer.rb
+++ b/recipes/composer.rb
@@ -2,7 +2,7 @@
 # Cookbook Name:: pdepend
 # Recipe:: composer
 #
-# Copyright 2013-2014, Escape Studios
+# Copyright (c) 2016, David Joos
 #
 
 include_recipe 'composer'
@@ -17,11 +17,11 @@
 end
 
 # figure out what version to install
-if node['pdepend']['version'] != 'latest'
-  version = node['pdepend']['version']
-else
-  version = '*.*.*'
-end
+version = if node['pdepend']['version'] != 'latest'
+            node['pdepend']['version']
+          else
+            '*.*.*'
+          end
 
 # composer.json
 template "#{pdepend_dir}/composer.json" do
diff --git a/recipes/default.rb b/recipes/default.rb
index 254e70b..fd33ced 100644
--- a/recipes/default.rb
+++ b/recipes/default.rb
@@ -2,7 +2,7 @@
 # Cookbook Name:: pdepend
 # Recipe:: default
 #
-# Copyright 2013-2014, Escape Studios
+# Copyright (c) 2016, David Joos
 #
 
 case node['pdepend']['install_method']
diff --git a/recipes/pear.rb b/recipes/pear.rb
index 1389ac1..cc74359 100644
--- a/recipes/pear.rb
+++ b/recipes/pear.rb
@@ -2,7 +2,7 @@
 # Cookbook Name:: pdepend
 # Recipe:: pear
 #
-# Copyright 2013-2014, Escape Studios
+# Copyright (c) 2016, David Joos
 #
 
 include_recipe 'php'
@@ -32,11 +32,11 @@
 package = 'PHP_Depend'
 
 # upgrade when package is installed and latest version is required
-if !(`pear list | grep #{package}`.empty?) && node['pdepend']['version'] == 'latest'
-  action = :upgrade
-else
-  action = :install
-end
+action = if !`pear list | grep #{package}`.empty? && node['pdepend']['version'] == 'latest'
+           :upgrade
+         else
+           :install
+         end
 
 php_pear package do
   channel pearhub_chan.channel_name
diff --git a/recipes/phar.rb b/recipes/phar.rb
index 751154d..43fcce5 100644
--- a/recipes/phar.rb
+++ b/recipes/phar.rb
@@ -2,7 +2,7 @@
 # Cookbook Name:: pdepend
 # Recipe:: phar
 #
-# Copyright 2013-2014, Escape Studios
+# Copyright (c) 2016, David Joos
 #
 
 remote_file "#{node['pdepend']['install_dir']}/pdepend" do