Index: src/Actions/Action.cpp
===================================================================
--- src/Actions/Action.cpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Actions/Action.cpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -9,11 +9,6 @@
 
 Action::Action()
-{
-  // TODO Auto-generated constructor stub
-
-}
+{}
 
 Action::~Action()
-{
-  // TODO Auto-generated destructor stub
-}
+{}
Index: src/Actions/Action.hpp
===================================================================
--- src/Actions/Action.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Actions/Action.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -9,4 +9,12 @@
 #define ACTION_H_
 
+/**
+ * Base class for all actions.
+ *
+ * Actions describe something that has to be done.
+ * Actions can be passed around, stored, performed and undone (Command-Pattern).
+ *
+ * TODO: Add queues of actions that have been performed to allow easy implementation of multiple-step undo
+ */
 class Action
 {
Index: src/Actions/MethodAction.hpp
===================================================================
--- src/Actions/MethodAction.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Actions/MethodAction.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -13,4 +13,7 @@
 #include "Actions/Action.hpp"
 
+/**
+ * Wrapper class that allows the construction of Actions from any kind of Method
+ */
 class MethodAction : public Action
 {
@@ -23,5 +26,5 @@
   virtual bool canUndo();
 
-  boost::function<void()> executeMethod;
+  boost::function<void()> executeMethod; //!< this stores the method to be called
 
 
Index: src/Menu/ActionMenuItem.hpp
===================================================================
--- src/Menu/ActionMenuItem.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Menu/ActionMenuItem.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -15,4 +15,7 @@
 class Action;
 
+/**
+ * Produce MenuItems that take an appropriate action when called.
+ */
 class ActionMenuItem : public MenuItem
 {
@@ -24,5 +27,5 @@
 
 private:
-  Action* action;
+  Action* action; //!< this action will be called when the trigger matches
 };
 
Index: src/Menu/DisplayMenuItem.hpp
===================================================================
--- src/Menu/DisplayMenuItem.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Menu/DisplayMenuItem.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -14,4 +14,9 @@
 class StringView;
 
+/**
+ * Display any kind of StringView within a Menu
+ *
+ * Any trigger are ignored for this type of Item
+ */
 class DisplayMenuItem : public MenuItem
 {
Index: src/Menu/Menu.hpp
===================================================================
--- src/Menu/Menu.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Menu/Menu.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -13,4 +13,10 @@
 class MenuItem;
 
+/**
+ * Base class for all Types of menus
+ * contains basic abstract functionality to add Items, remove Items and display the menu
+ *
+ * TODO: Make sure all items are only added once.
+ */
 class Menu
 {
@@ -19,5 +25,12 @@
   virtual ~Menu();
 
+
+  /**
+   * Adding and removing should be handled by the items.
+   */
   virtual void addItem(MenuItem*)=0;
+  /**
+   * Adding and removing should be handled by the items.
+   */
   virtual void removeItem(MenuItem*)=0;
   virtual void display()=0;
Index: src/Menu/MenuItem.cpp
===================================================================
--- src/Menu/MenuItem.cpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Menu/MenuItem.cpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -13,4 +13,8 @@
 #include <iostream>
 
+/**
+ * produce a new MenuItem using with a description and a trigger.
+ * The MenuItem is then added to the menu passed to it.
+ */
 MenuItem::MenuItem(char _trigger, const char* _description,Menu* menu) :
 trigger(_trigger),
@@ -26,4 +30,7 @@
 }
 
+/**
+ * check if the trigger matches and call doTrigger if it does.
+ */
 void MenuItem::checkTrigger(char key) {
   if(key == trigger)
@@ -39,4 +46,8 @@
 }
 
+/**
+ * Produce a formated output of this item containing trigger and description
+ * Normal format is: "<trigger> - <description>"
+ */
 const string MenuItem::formatEntry(){
   stringstream s;
@@ -46,4 +57,10 @@
 }
 
+
+/**
+ * check if this item is within a menu and add to menu if it is not yet contained anywhere
+ *
+ * TODO: include funtionality to move Items from one menu to another
+ */
 void MenuItem::add_to_menu(Menu* menu) {
   if(!wasAdded()) {
Index: src/Menu/MenuItem.hpp
===================================================================
--- src/Menu/MenuItem.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Menu/MenuItem.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -15,4 +15,9 @@
 class Menu;
 
+/**
+ * Base class for all kinds of MenuItems
+ *
+ * This class takes care of checking the triggers and performing appropriate actions.
+ */
 class MenuItem {
 private:
Index: src/Menu/SeperatorItem.hpp
===================================================================
--- src/Menu/SeperatorItem.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Menu/SeperatorItem.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -11,4 +11,9 @@
 #include "Menu/MenuItem.hpp"
 
+/**
+ * Produce a Seperator within a Menu.
+ *
+ * All triggers are ignored for this Item.
+ */
 class SeperatorItem : public MenuItem
 {
Index: src/Menu/TextMenu.cpp
===================================================================
--- src/Menu/TextMenu.cpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Menu/TextMenu.cpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -9,8 +9,12 @@
 #include <iostream>
 #include <cmath>
-#include "defs.hpp"
 #include "Menu/TextMenu.hpp"
 #include "Menu/MenuItem.hpp"
 
+
+/**
+ * produce a text menu with a given title.
+ * The text will later be displayed using the stream passed to the constructor.
+ */
 TextMenu::TextMenu(ostream& _outputter, string _title, char _spacer,int _length) :
 outputter(_outputter),
@@ -18,13 +22,4 @@
 spacer(_spacer),
 length(_length),
-quit(false)
-{
-}
-
-TextMenu::TextMenu(ostream& _outputter, string _title) :
-outputter(_outputter),
-title(_title),
-spacer(STD_MENU_TITLE_SPACER),
-length(STD_MENU_LENGTH),
 quit(false)
 {
Index: src/Menu/TextMenu.hpp
===================================================================
--- src/Menu/TextMenu.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Menu/TextMenu.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -14,12 +14,17 @@
 
 #include "Menu/Menu.hpp"
+#include "defs.hpp"
 
 class MenuItem;
 
+/**
+ * Used to produce any kind of text menu
+ *
+ * All Items are displayed and user is prompted for a key. The item corresponding to that key is then activated.
+ */
 class TextMenu : public Menu
 {
 public:
-  TextMenu(ostream&,string,char,int);
-  TextMenu(ostream&,string);
+  TextMenu(ostream& _outputter, string _title, char _spacer=STD_MENU_TITLE_SPACER,int _length=STD_MENU_LENGTH);
   virtual ~TextMenu();
 
@@ -28,5 +33,11 @@
   virtual void display();
 
+  /**
+   * Call doQuit if you want to return from this menu.
+   */
   virtual void doQuit();
+  /**
+   * Check wether someone has chosen to quit
+   */
   virtual bool hasQuit();
 
Index: src/Views/MethodStringView.hpp
===================================================================
--- src/Views/MethodStringView.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Views/MethodStringView.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -13,4 +13,7 @@
 #include "Views/StringView.hpp"
 
+/**
+ * Wrapper to produce a StringView from any method that returns a String.
+ */
 class MethodStringView : public StringView
 {
Index: src/Views/StreamStringView.hpp
===================================================================
--- src/Views/StreamStringView.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Views/StreamStringView.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -13,4 +13,12 @@
 #include "Views/StringView.hpp"
 
+/**
+ * Wrapper to produce a StringView from any method that uses a stream to display something.
+ *
+ * The function is called with a stringstream which then is turned into a string later.
+ *
+ * Caveat: Make sure the stream passed to the method is actually used. Some methods seem to use a stream parameter for
+ * legacy reasons. These methods internally use the "Log() << Verbose()" mechanism instead of the stream.
+ */
 class StreamStringView : public StringView
 {
Index: src/Views/StringView.hpp
===================================================================
--- src/Views/StringView.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Views/StringView.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -14,4 +14,10 @@
 using namespace std;
 
+/**
+ * View to show something as a string
+ *
+ * This View is used by calling the toString method.
+ * This View does *not* use the observer pattern.
+ */
 class StringView : public View
 {
Index: src/Views/View.hpp
===================================================================
--- src/Views/View.hpp	(revision f82ac4e1c4f69165e3602ccdadad86a82b35fd21)
+++ src/Views/View.hpp	(revision ef81b0af9e8751502b741eab9c958fa73de74522)
@@ -9,4 +9,9 @@
 #define VIEW_H_
 
+/**
+ * Base class for all Views
+ *
+ * TODO: is this really needed or helpfull at all?
+ */
 class View
 {
