Index: code/branches/HUD_HS16/data/overlays/HUDTemplates3.oxo
===================================================================
--- code/branches/HUD_HS16/data/overlays/HUDTemplates3.oxo	(revision 11264)
+++ code/branches/HUD_HS16/data/overlays/HUDTemplates3.oxo	(revision 11277)
@@ -188,5 +188,5 @@
      name                   = "PickupSystem"
      correctaspect          = true
-     position               = "0.45, 0.95"
+     position               = "0.32, 0.81"
      pickpoint              = "0.0, 0.0"
      visible                = "true"
@@ -195,5 +195,5 @@
     <HUDTimer
      name     = "Timer"
-     position = "0.5, 0.85"
+     position = "0.5, 0.25"
      font     = "VeraMono"
      textsize = 0.1
Index: code/branches/HUD_HS16/data/overlays/HUDTemplatesFPS.oxo
===================================================================
--- code/branches/HUD_HS16/data/overlays/HUDTemplatesFPS.oxo	(revision 11264)
+++ code/branches/HUD_HS16/data/overlays/HUDTemplatesFPS.oxo	(revision 11277)
@@ -104,4 +104,12 @@
     />
 
+    <HUDPickupSystem
+     name                   = "PickupSystem"
+     correctaspect          = true
+     position               = "0.45, 0.95"
+     pickpoint              = "0.0, 0.0"
+     visible                = "true"
+    />
+
     <HUDTimer
      name     = "Timer"
Index: code/branches/HUD_HS16/src/modules/overlays/OverlaysPrereqs.h
===================================================================
--- code/branches/HUD_HS16/src/modules/overlays/OverlaysPrereqs.h	(revision 11264)
+++ code/branches/HUD_HS16/src/modules/overlays/OverlaysPrereqs.h	(revision 11277)
@@ -104,4 +104,6 @@
     class PauseNotice;
     class TeamBaseMatchScore;
+    class HUDPickupSystem;
+    class HUDPickupItem;
 
     // stats
Index: code/branches/HUD_HS16/src/modules/overlays/hud/CMakeLists.txt
===================================================================
--- code/branches/HUD_HS16/src/modules/overlays/hud/CMakeLists.txt	(revision 11264)
+++ code/branches/HUD_HS16/src/modules/overlays/hud/CMakeLists.txt	(revision 11277)
@@ -14,4 +14,6 @@
   HUDWeapon.cc
   HUDWeaponSystem.cc
+  HUDPickupItem.cc
+  HUDPickupSystem.cc
   ChatOverlay.cc
   AnnounceMessage.cc
Index: code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupItem.cc
===================================================================
--- code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupItem.cc	(revision 11264)
+++ code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupItem.cc	(revision 11277)
@@ -29,12 +29,20 @@
 #include "HUDPickupItem.h"
 
+#include <string>
+
+
+#include <OgreOverlayManager.h>
+#include <OgrePanelOverlayElement.h> 
+
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "util/Convert.h"
 #include "core/class/Super.h"
+#include "HUDPickupItem.h"
 
 namespace orxonox
 {
     RegisterClass(HUDPickupItem);
+    Ogre::PanelOverlayElement* overlayElement_;
 
     HUDPickupItem::HUDPickupItem(Context* context) : OrxonoxOverlay(context)
@@ -43,7 +51,7 @@
 
         overlayElement_ = static_cast<Ogre::PanelOverlayElement* >(Ogre::OverlayManager::getSingleton().createOverlayElement("Panel", "HUDPickupItem" + getUniqueNumberString()));
-        overlayElement_->setMaterialName("Orxonox/WSHUD_Weapon");   //TODO be switched
+        
         overlayElement_->setPosition(0.0f,0.0f);
-        overlayElement_->setDimensions(1.0f,1.0f);
+        overlayElement_->setDimensions(0.5f,0.5f);
         this->background_->addChild(overlayElement_);
     }
@@ -53,6 +61,11 @@
         if (this->isInitialized())
         {
-            destroyHUDChilds();
+            overlayElement_=nullptr;
         }
+    }
+
+    void initializeMaterial(std::string s)
+    {
+        overlayElement_->setMaterialName(s);
     }
 
Index: code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupItem.h
===================================================================
--- code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupItem.h	(revision 11264)
+++ code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupItem.h	(revision 11277)
@@ -16,7 +16,5 @@
 #include "worldentities/pawns/Pawn.h"
 #include "overlays/OverlayGroup.h"
-#include "weaponsystem/Weapon.h"
-#include "weaponsystem/WeaponMode.h"
-#include "HUDWeaponMode.h"
+#include "pickup/Pickup.h"
 
 namespace orxonox
@@ -28,14 +26,15 @@
         virtual ~HUDPickupItem();
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
-        virtual void tick(float dt) override;
-        virtual void changedOwner() override;
-        virtual void changedOverlayGroup() override;
-        virtual void changedVisibility() override;
-        virtual void changedName() override;
-        virtual void positionChanged() override;
-        virtual void sizeChanged() override;
+        // virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+        // virtual void tick(float dt) override;
+        // virtual void changedOwner() override;
+        // virtual void changedOverlayGroup() override;
+        // virtual void changedVisibility() override;
+        // virtual void changedName() override;
+        // virtual void positionChanged() override;
+        // virtual void sizeChanged() override;
 
-        void setPickup(Pickup* pickup);     
+        // void setPickup(Pickup* pickup);  
+        void initializeMaterial(std::string s);   
 
     private:
@@ -50,5 +49,4 @@
         WeakPtr<Pickup> pickup_;
 
-        Ogre::PanelOverlayElement* overlayElement_;
     };
 }
Index: code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupSystem.cc
===================================================================
--- code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupSystem.cc	(revision 11264)
+++ code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupSystem.cc	(revision 11277)
@@ -27,8 +27,14 @@
  */
 
+#include <vector>
+#include <string>
+
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "util/Convert.h"
 #include "core/class/Super.h"
+#include "HUDPickupSystem.h"
+#include "pickup/Pickup.h"
+#include "HUDPickupItem.h"
 
 namespace orxonox
@@ -39,4 +45,11 @@
     {
         RegisterObject(HUDPickupSystem);
+
+        overlayElement_ = static_cast<Ogre::PanelOverlayElement* >(Ogre::OverlayManager::getSingleton().createOverlayElement("Panel", "HUDPickupSystem" + getUniqueNumberString()));
+        overlayElement_->setMaterialName("PickupBar");
+        overlayElement_->setPosition(0.0f,0.0f);
+        overlayElement_->setDimensions(0.70f,0.15f);
+        orxout() << "hello HUDPickupSystem" << endl;
+        this->background_->addChild(overlayElement_);
 
     }
@@ -52,7 +65,11 @@
    //TODO: XMLPort
 
-    void HUDPickupSystem::updatePickupList()
+    void HUDPickupSystem::updatePickupList(std::vector<Pickup> picks)
     {
-        
+        for(Pickup p : picks)
+        {
+            HUDPickupItem item = new HUDPickupItem(this->getContext());
+            item.initializeMaterial(p.getRepresentationName());
+        }
     }
 
Index: code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupSystem.h
===================================================================
--- code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupSystem.h	(revision 11264)
+++ code/branches/HUD_HS16/src/modules/overlays/hud/HUDPickupSystem.h	(revision 11277)
@@ -32,7 +32,13 @@
 #include <string>
 
+
+#include <OgreOverlayManager.h>
+#include <OgrePanelOverlayElement.h> 
+
 #include "overlays/OrxonoxOverlay.h"
 #include "worldentities/pawns/Pawn.h"
 #include "overlays/OverlayGroup.h"
+#include "pickup/Pickup.h"
+#include "pickup/PickupRepresentation.h"
 
 namespace orxonox
@@ -51,8 +57,13 @@
         // virtual void positionChanged() override;
         // virtual void sizeChanged() override;
-    protected:
-        void updatePickupList();
+    private:
+        void updatePickupList(std::vector<Pickup> picks);
         void createPickupList();
         void destroyAll();
+
+        Ogre::PanelOverlayElement* overlayElement_;
+        WeakPtr<Pawn> owner_;
+
+        std::vector<PickupRepresentation> pickupRepresentations_;
     };
 }
Index: code/branches/HUD_HS16/src/modules/pickup/PickupManager.cc
===================================================================
--- code/branches/HUD_HS16/src/modules/pickup/PickupManager.cc	(revision 11264)
+++ code/branches/HUD_HS16/src/modules/pickup/PickupManager.cc	(revision 11277)
@@ -51,4 +51,5 @@
 #include "CollectiblePickup.h"
 #include "PickupRepresentation.h"
+// #include "overlays/hud/HUDPickupSystem.h"
 
 namespace orxonox
@@ -378,5 +379,5 @@
     //This function is called by the command line or by the key binding
     //it uses or unuses the pickup, depending on its current state
-    void PickupManager::useUnusePickup(uint32_t index) //uint32_t index
+    void PickupManager::useUnusePickup(uint32_t index) 
     {
         orxout() << "Hello there I was here " << index << endl;
