diff --git a/.gitignore b/.gitignore
index e797189..082f696 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,7 +26,7 @@
 /registry
 
 # Build
-/build
+build
 
 # Gradle
 .gradle
@@ -34,3 +34,5 @@
 # Ansible
 ansible/*.retry
 
+# Backup files
+*.bak
diff --git a/build.gradle b/build.gradle
index 8224404..1198327 100644
--- a/build.gradle
+++ b/build.gradle
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-import org.opencord.build.rules.*
+import org.opencord.gradle.rules.*
 import org.yaml.snakeyaml.Yaml
 
 allprojects {
diff --git a/buildSrc/src/main/groovy/org/opencord/build/rules/DockerFetchRule.groovy b/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerFetchRule.groovy
similarity index 97%
rename from buildSrc/src/main/groovy/org/opencord/build/rules/DockerFetchRule.groovy
rename to buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerFetchRule.groovy
index 4b4ec9f..a9bb91b 100644
--- a/buildSrc/src/main/groovy/org/opencord/build/rules/DockerFetchRule.groovy
+++ b/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerFetchRule.groovy
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.opencord.build.rules
+package org.opencord.gradle.rules
 
 import org.gradle.api.Rule
 import de.gesellix.gradle.docker.tasks.DockerPullTask
diff --git a/buildSrc/src/main/groovy/org/opencord/build/rules/DockerPublishRule.groovy b/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerPublishRule.groovy
similarity index 97%
rename from buildSrc/src/main/groovy/org/opencord/build/rules/DockerPublishRule.groovy
rename to buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerPublishRule.groovy
index 6508123..a1d8164 100644
--- a/buildSrc/src/main/groovy/org/opencord/build/rules/DockerPublishRule.groovy
+++ b/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerPublishRule.groovy
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.opencord.build.rules
+package org.opencord.gradle.rules
 
 import org.gradle.api.Rule
 import de.gesellix.gradle.docker.tasks.DockerPushTask
diff --git a/buildSrc/src/main/groovy/org/opencord/build/rules/DockerTagRule.groovy b/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerTagRule.groovy
similarity index 97%
rename from buildSrc/src/main/groovy/org/opencord/build/rules/DockerTagRule.groovy
rename to buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerTagRule.groovy
index 70fd03e..474e16d 100644
--- a/buildSrc/src/main/groovy/org/opencord/build/rules/DockerTagRule.groovy
+++ b/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerTagRule.groovy
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.opencord.build.rules
+package org.opencord.gradle.rules
 
 import org.gradle.api.Rule
 import de.gesellix.gradle.docker.tasks.DockerTagTask
diff --git a/buildSrc/src/main/groovy/org/opencord/build/rules/GitSubmoduleUpdateRule.groovy b/buildSrc/src/main/groovy/org/opencord/gradle/rules/GitSubmoduleUpdateRule.groovy
similarity index 97%
rename from buildSrc/src/main/groovy/org/opencord/build/rules/GitSubmoduleUpdateRule.groovy
rename to buildSrc/src/main/groovy/org/opencord/gradle/rules/GitSubmoduleUpdateRule.groovy
index 9398027..4a1f6a8 100644
--- a/buildSrc/src/main/groovy/org/opencord/build/rules/GitSubmoduleUpdateRule.groovy
+++ b/buildSrc/src/main/groovy/org/opencord/gradle/rules/GitSubmoduleUpdateRule.groovy
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.opencord.build.rules
+package org.opencord.gradle.rules
 
 import org.gradle.api.Rule
 import org.gradle.api.tasks.Exec
diff --git a/components/nginx/build.gradle b/components/nginx/build.gradle
deleted file mode 100644
index 8980e82..0000000
--- a/components/nginx/build.gradle
+++ /dev/null
@@ -1,66 +0,0 @@
-plugins {
-  id "com.github.ben-manes.versions" version "0.12.0"
-  id "de.gesellix.docker" version "2016-05-05T13-15-11"
-}
-
-import de.gesellix.gradle.docker.tasks.*
-
-import static groovy.json.JsonOutput.prettyPrint
-import static groovy.json.JsonOutput.toJson
-
-allprojects {
-  apply plugin: 'base'
-  apply plugin: 'de.gesellix.docker'
-  docker {
-    // dockerHost = System.env.DOCKER_HOST ?: 'unix:///var/run/docker.sock'
-    // dockerHost = System.env.DOCKER_HOST ?: 'https://192.168.99.100:2376'
-    // certPath = System.getProperty('docker.cert.path') ?: "${System.getProperty('user.home')}/.docker/machine/machines/default"
-    // authConfigPlain = [
-    //   "username"       : "joe",
-    //   "password"       : "some-pw-as-needed",
-    //   "email"          : "joe@acme.com",
-    //   "serveraddress"  : "https://index.docker.io/v1/"
-    //  ]
-  }
-}
-
-task ping(type: DockerPingTask) {
-  doLast { println prettyPrint(toJson(result.content)) }
-}
-
-task info(type: DockerInfoTask) {
-  doLast { println prettyPrint(toJson(info)) }
-}
-
-task version(type: DockerVersionTask) {
-  doLast { println prettyPrint(toJson(version)) }
-}
-
-//task publish(type: DockerPublishTask) {
-//  imageName = 'nginx'
-//  imageTag = 'cand'
-//  buildContextDirectory = file('./docker/')
-//  targetRegistries = [
-//    dev: "localhost:5000"
-//  ]
-//}
-
-task fetch(type: DockerPullTask) {
-  imageName = 'nginx@sha256:b555f8c64ab4e85405e0d8b03f759b73ce88deb802892a3b155ef55e3e832806'
-  // tag = 'sha256:b555f8c64ab4e85405e0d8b03f759b73ce88deb802892a3b155ef55e3e832806'
-  // tag = '1.10.0'
-  // authConfigPlain = getDockerClient().readDefaultAuthConfig()
-}
-
-task tag(type: DockerTagTask) {
-  dependsOn fetch
-  imageId = 'nginx@sha256:b555f8c64ab4e85405e0d8b03f759b73ce88deb802892a3b155ef55e3e832806'
-  tag = 'nginx:cand'
-}
-
-task publish(type: DockerPushTask) {
-  dependsOn tag
-
-  repositoryName = 'nginx:cand'
-  registry = 'localhost:5000'
-}
