diff --git a/bundleplugin/src/site/apt/index.apt b/bundleplugin/src/site/apt/index.apt
index 05f8941..8bd9bb8 100644
--- a/bundleplugin/src/site/apt/index.apt
+++ b/bundleplugin/src/site/apt/index.apt
@@ -28,32 +28,57 @@
 
 Maven Bundle Plugin
 
-  Plugin introduction, description, and other relevant information.
+  This Maven 2 plugin is based on the {{{http://www.aqute.biz/Bnd/Bnd/}BND}} tool from Peter Kriens. The way BND works is by treating your project as a big collection of classes (e.g., project code, dependencies, and the class path). The way you create a bundle with BND is to tell it the content of the bundle's JAR file as a subset of the available classes. This plugin wraps BND to make it work specifically with the Maven 2 project structure and to provide it with reasonable default behavior for Maven 2 projects.
 
 * Goals Overview
 
   General Information about the goals.
 
-  * {{{goal.html}prefix:goal}} short description for this plugin goal.
+  * {{{./bundle-mojo.html}bundle:bundle}} Create an OSGi bundle from Maven project. (life-cycle goal)
+
+  * {{{./manifest-mojo.html}bundle:manifest}} Generate an OSGi manifest for this project.
+
+  * {{{./cleanVersions-mojo.html}bundle:cleanVersions}} Convert a group of versions to OSGi format.
+
+  * {{{./instructions-mojo.html}bundle:instructions}} Generate BND instructions for this project.
+
+  * {{{./install-mojo.html}bundle:install}} Installs bundle details in the local OBR repository. (life-cycle goal)
+
+  * {{{./deploy-mojo.html}bundle:deploy}} Deploys bundle details to a remote OBR repository. (life-cycle goal)
+
+  * {{{./index-mojo.html}bundle:index}} Index the content of a maven repository using OBR.
+
+  * {{{./install-file-mojo.html}bundle:install-file}} Installs bundle details in the local OBR repository. (command-line goal)
+
+  * {{{./deploy-file-mojo.html}bundle:deploy-file}} Deploys bundle details to a remote OBR repository. (command-line goal)
+
+  * {{{./clean-mojo.html}bundle:clean}} Clean a local OBR repository by finding and removing missing resources.
+
+  * {{{./remote-clean-mojo.html}bundle:remote-clean}} Clean a remote OBR repository by finding and removing missing resources.
+
+  * {{{./ant-mojo.html}bundle:ant}} Generate Ant script to create the bundle. (you should run ant:ant first)
+
+  []
 
 * Usage
 
-  General instructions on how to use the Maven Bundle Plugin can be found on the {{{usage.html}usage page}}. Some more
-  specific use cases are described in the examples given below. Last but not least, users occasionally contribute
-  additional examples, tips or errata to the
-  {{{https://cwiki.apache.org/confluence/x/aX}plugin's wiki page}}.
+  General instructions on how to use the Maven Bundle Plugin can be found on the
+  {{{http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html}wiki page}}.
+  Some more specific use cases are described in the examples given below.
 
-  In case you still have questions regarding the plugin's usage, please have a look at the {{{faq.html}FAQ}} and feel
-  free to contact the {{{mail-lists.html}user mailing list}}. The posts to the mailing list are archived and could
+  In case you still have questions regarding the plugin's usage, please have a look at the
+  {{{http://felix.apache.org/site/apache-felix-bundle-plugin-faq.html}FAQ}} and feel
+  free to contact the {{{http://felix.apache.org/site/mailinglists.html}user mailing list}}.
+  The posts to the mailing list are archived and could
   already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching
-  the {{{mail-lists.html}mail archive}}.
+  the {{{http://www.mail-archive.com/users@felix.apache.org/}mail archive}}.
 
   If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our
-  {{{issue-tracking.html}issue tracker}}. When creating a new issue, please provide a comprehensive description of your
+  {{{./issue-tracking.html}issue tracker}}. When creating a new issue, please provide a comprehensive description of your
   concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason,
   entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated.
   Of course, patches are welcome, too. Contributors can check out the project from our
-  {{{source-repository.html}source repository}} and will find supplementary information in the
+  {{{./source-repository.html}source repository}} and will find supplementary information in the
   {{{http://felix.apache.org/site/development.html}Apache Felix developers guide}}. 
 
 * Examples
@@ -61,5 +86,5 @@
   To provide you with better understanding on some usages of the Maven Bundle Plugin,
   you can take a look into the following examples:
 
-  * {{{examples/short-description.html}Example Description}}
+  * Examples coming soon!
 
diff --git a/bundleplugin/src/site/fml/faq.fml b/bundleplugin/src/site/fml/faq.fml
deleted file mode 100644
index 972d1e0..0000000
--- a/bundleplugin/src/site/fml/faq.fml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<faqs id="FAQ" title="Frequently Asked Questions">
-  <part id="General">
-    <faq id="question">
-      <question>Question?</question>
-      <answer>
-        <p>
-          Answer
-        </p>
-      </answer>
-    </faq>
-  </part>
-</faqs>
diff --git a/bundleplugin/src/site/site.xml b/bundleplugin/src/site/site.xml
index eee25ec..4c8936c 100644
--- a/bundleplugin/src/site/site.xml
+++ b/bundleplugin/src/site/site.xml
@@ -24,15 +24,10 @@
     <menu name="Overview">
       <item name="Introduction" href="index.html"/>
       <item name="Goals" href="plugin-info.html"/>
-      <item name="Usage" href="usage.html"/>
-      <item name="FAQ" href="faq.html"/>
+      <item name="Wiki" href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29"/>
+      <item name="FAQ" href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ"/>
       <item name="Release Notes" href="jira-report.html"/>
     </menu>
-
-    <menu name="Examples">
-      <item name="TODO" href="examples/todo.html"/>
-    </menu>
-
     <menu ref="reports"/>
   </body>
 </project>
