diff --git a/BUCK b/BUCK
index f270ac2..e09f161 100644
--- a/BUCK
+++ b/BUCK
@@ -1,8 +1,8 @@
 gerrit_plugin(
-  name = 'helloworld',
+  name = 'cookbook-plugin',
   srcs = glob(['src/main/java/**/*.java']),
   resources = glob(['src/main/resources/**/*']),
   manifest_entries = [
-    'Gerrit-SshModule: com.google.gerrit.plugins.HelloWorldCommandModule'
+    'Gerrit-SshModule: com.googlesource.gerrit.plugins.cookbook.SshModule'
   ]
 )
diff --git a/pom.xml b/pom.xml
index 7071aa8..e6f444a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-Copyright (C) 2012 The Android Open Source Project
+Copyright (C) 2013 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
@@ -19,13 +19,13 @@
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
-  <groupId>com.google.gerrit.plugins</groupId>
-  <artifactId>helloworld</artifactId>
+  <groupId>com.googlesource.gerrit.plugins</groupId>
+  <artifactId>cookbook-plugin</artifactId>
   <packaging>jar</packaging>
   <version>0.1</version>
   <properties>
     <Gerrit-ApiType>plugin</Gerrit-ApiType>
-    <Gerrit-ApiVersion>2.6-SNAPSHOT</Gerrit-ApiVersion>
+    <Gerrit-ApiVersion>2.8-SNAPSHOT</Gerrit-ApiVersion>
   </properties>
 
   <build>
@@ -37,7 +37,7 @@
         <configuration>
           <archive>
             <manifestEntries>
-              <Gerrit-SshModule>com.google.gerrit.plugins.HelloWorldCommandModule</Gerrit-SshModule>
+              <Gerrit-SshModule>com.googlesource.gerrit.plugins.cookbook.SshModule</Gerrit-SshModule>
 
               <Implementation-Vendor>Gerrit Code Review</Implementation-Vendor>
               <Implementation-URL>http://code.google.com/p/gerrit/</Implementation-URL>
diff --git a/src/main/java/com/google/gerrit/plugins/PrintHelloWorldCommand.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/PrintHelloWorldCommand.java
similarity index 92%
rename from src/main/java/com/google/gerrit/plugins/PrintHelloWorldCommand.java
rename to src/main/java/com/googlesource/gerrit/plugins/cookbook/PrintHelloWorldCommand.java
index 7122c98..d78289e 100644
--- a/src/main/java/com/google/gerrit/plugins/PrintHelloWorldCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/PrintHelloWorldCommand.java
@@ -1,4 +1,4 @@
-// Copyright (C) 2012 The Android Open Source Project
+// Copyright (C) 2013 The Android Open Source Project
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.gerrit.plugins;
+package com.googlesource.gerrit.plugins.cookbook;
 
 import com.google.gerrit.sshd.CommandMetaData;
 import com.google.gerrit.sshd.SshCommand;
diff --git a/src/main/java/com/google/gerrit/plugins/HelloWorldCommandModule.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/SshModule.java
similarity index 82%
rename from src/main/java/com/google/gerrit/plugins/HelloWorldCommandModule.java
rename to src/main/java/com/googlesource/gerrit/plugins/cookbook/SshModule.java
index a55aad5..bfb5ff9 100644
--- a/src/main/java/com/google/gerrit/plugins/HelloWorldCommandModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/SshModule.java
@@ -1,4 +1,4 @@
-// Copyright (C) 2012 The Android Open Source Project
+// Copyright (C) 2013 The Android Open Source Project
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -12,11 +12,11 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.gerrit.plugins;
+package com.googlesource.gerrit.plugins.cookbook;
 
 import com.google.gerrit.sshd.PluginCommandModule;
 
-public class HelloWorldCommandModule extends PluginCommandModule {
+public class SshModule extends PluginCommandModule {
   @Override
   protected void configureCommands() {
     command(PrintHelloWorldCommand.class);
