diff --git a/LICENSE b/LICENSE
index 73c9cd0..cdb66dd 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2014-2015 Mirantis Inc.
+Copyright (c) 2014-2019 Mirantis Inc. et al
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/README.rst b/README.rst
index 6037bdd..70ed425 100644
--- a/README.rst
+++ b/README.rst
@@ -27,8 +27,8 @@
 
 Manages a kubectl configuration file and gce_token json file per the configured
 pillar values. Note that the available configuration values allow the path of
-the kube config file to be placed at a different location than the default 
-installation path; this is recommended to avoid confusion if the kubectl 
+the kube config file to be placed at a different location than the default
+installation path; this is recommended to avoid confusion if the kubectl
 binary on the minion might be manually used with multiple contexts.
 
 **includes**:
@@ -37,7 +37,7 @@
 `client_installed`
 ------------------
 
-Installs the helm client binary per the configured pillar values, such as where 
+Installs the helm client binary per the configured pillar values, such as where
 helm home should be, which version of the helm binary to install and that path
 for the helm binary.
 
@@ -48,7 +48,7 @@
 ------------------
 
 Optionally installs a Tiller deployment to the Kubernetes cluster per the
-`helm:client:tiller:install` pillar value. If the pillar value is set to 
+`helm:client:tiller:install` pillar value. If the pillar value is set to
 install tiller to the cluster, the version of the tiller installation will
 match the version of the Helm client installed per the `helm:client:version`
 configuration parameter
@@ -60,8 +60,8 @@
 `repos_managed`
 ------------------
 
-Ensures the repositories configured per the pillar (and only those repositories) 
-are registered at the configured helm home, and synchronizes the local cache 
+Ensures the repositories configured per the pillar (and only those repositories)
+are registered at the configured helm home, and synchronizes the local cache
 with the remote repository with each state execution.
 
 **includes**:
@@ -71,10 +71,10 @@
 ------------------
 
 Ensures the releases configured with the pillar are in the expected state with
-the Kubernetes cluster. This state includes change detection to determine 
+the Kubernetes cluster. This state includes change detection to determine
 whether the pillar configurations match the release's state in the cluster.
 
-Note that changes to an existing release's namespace will trigger a deletion and 
+Note that changes to an existing release's namespace will trigger a deletion and
 re-installation of the release to the cluster.
 
 **includes**:
@@ -86,7 +86,7 @@
 Availale Modules
 ===============
 
-To view documentation on the available modules, run: 
+To view documentation on the available modules, run:
 
 `salt '{{ tgt }}' sys.doc helm`
 
@@ -94,7 +94,7 @@
 Sample pillars
 ==============
 
-See the [default reclass pillar configuration](metadata/service/client.yml) for 
+See the [default reclass pillar configuration](metadata/service/client.yml) for
 a documented example pillar file.
 
 Example Configurations
@@ -103,8 +103,8 @@
 _The following examples demonstrate configuring the formula for different
 use cases._
 
-The default pillar configuration will install the helm client on the target 
-node, and Tiller to the Kubernetes cluster (assuming kubectl config or local 
+The default pillar configuration will install the helm client on the target
+node, and Tiller to the Kubernetes cluster (assuming kubectl config or local
 cluster endpoint have already been configured.
 
 Change version of helm being downloaded and installed:
@@ -173,7 +173,7 @@
           install: true  # installs kubectl 1.6.7 by default
           config:
             # directly translated to cluster definition in kubeconfig
-            cluster: 
+            cluster:
               server: https://kubernetes.example.com
               certificate-authority-data: base64_of_ca_certificate
             cluster_name: kubernetes.example
@@ -181,7 +181,7 @@
             user:
               username: admin
               password: uberadminpass
-            user_name: admin 
+            user_name: admin
 
 Change kubectl download URL and use it with GKE-based cluster:
 
@@ -210,12 +210,12 @@
 
 1. Unable to remove all user supplied values
 
-If a release previously has had user supplied value overrides (via the 
+If a release previously has had user supplied value overrides (via the
 release's `values` key in the pillar), subsequently removing all `values`
-overrides (so that there is no more `values` key for the release in the 
+overrides (so that there is no more `values` key for the release in the
 pillar) will not actually update the Helm deployment. To get around this,
 specify a fake key/value pair in the release's pillar; Tiller will override
-all previously user-supplied values with the new fake key and value. For 
+all previously user-supplied values with the new fake key and value. For
 example:
 
 
@@ -235,37 +235,3 @@
 
 * https://github.com/kubernetes/charts
 * https://fabric8.io/helm/
-
-
-Documentation and Bugs
-======================
-
-To learn how to install and update salt-formulas, consult the documentation
-available online at:
-
-    http://salt-formulas.readthedocs.io/
-
-In the unfortunate event that bugs are discovered, they should be reported to
-the appropriate issue tracker. Use Github issue tracker for specific salt
-formula:
-
-    https://github.com/salt-formulas/salt-formula-helm/issues
-
-For feature requests, bug reports or blueprints affecting entire ecosystem,
-use Launchpad salt-formulas project:
-
-    https://launchpad.net/salt-formulas
-
-You can also join salt-formulas-users team and subscribe to mailing list:
-
-    https://launchpad.net/~salt-formulas-users
-
-Developers wishing to work on the salt-formulas projects should always base
-their work on master branch and submit pull request against specific formula.
-
-    https://github.com/salt-formulas/salt-formula-home-assistant
-
-Any questions or feedback is always welcome so feel free to join our IRC
-channel:
-
-    #salt-formulas @ irc.freenode.net
diff --git a/debian/control b/debian/control
index 8a632bb..a1fc50d 100644
--- a/debian/control
+++ b/debian/control
@@ -1,12 +1,12 @@
 Source: salt-formula-helm
-Maintainer: Yuriy Taraday <ytaraday@mirantis.com>
+Maintainer: Mirantis Dev <dev@mirantis.com>
 Section: admin
 Priority: optional
 Build-Depends: debhelper (>= 9), salt-master, python, python-yaml
 Standards-Version: 3.9.6
-Homepage: http://www.tcpcloud.eu
-Vcs-Browser: https://github.com/tcpcloud/salt-formula-helm
-Vcs-Git: https://github.com/tcpcloud/salt-formula-helm.git
+Homepage: https://www.mirantis.com
+Vcs-Browser: https://gerrit.mcp.mirantis.com/#/admin/projects/salt-formulas/helm
+Vcs-Git: https://gerrit.mcp.mirantis.com/salt-formulas/helm.git
 
 Package: salt-formula-helm
 Architecture: all
diff --git a/debian/copyright b/debian/copyright
index eb2a163..e452030 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,12 +1,12 @@
 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Name: salt-formula-helm
-Upstream-Contact: 
-Source: https://github.com/tcpcloud/salt-formula-helm
+Upstream-Contact: Mirantis Dev <dev@mirantis.com>
+Source: https://gerrit.mcp.mirantis.com/#/admin/projects/salt-formulas/helm
 
 Files: *
-Copyright: 2014-2015 Mirantis Inc.
+Copyright: 2014-2019 Mirantis Inc. et al
 License: Apache-2.0
-  Copyright (C) 2014-2015 Mirantis Inc.
+  Copyright (C) 2014-2019 Mirantis Inc. et al
   .
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
