Index: /orxonox/trunk/src/Makefile.am
===================================================================
--- /orxonox/trunk/src/Makefile.am	(revision 4838)
+++ /orxonox/trunk/src/Makefile.am	(revision 4839)
@@ -68,5 +68,6 @@
                   lib/graphics/light.cc \
                   lib/graphics/text_engine.cc \
-                  lib/graphics/render2D/element_2D.cc \
+                  lib/graphics/render2D/element_2d.cc \
+                  lib/graphics/render2D/render_2d.cc \
                   lib/lang/base_object.cc \
                   lib/lang/class_list.cc \
@@ -135,4 +136,6 @@
                  lib/graphics/text_engine.h \
                  lib/lang/base_object.h \
+                 lib/graphics/render2D/element_2d.h \
+                 lib/graphics/render2D/render_2d.h \
                  lib/lang/class_list.h \
                  lib/util/ini_parser.h \
Index: /orxonox/trunk/src/Makefile.in
===================================================================
--- /orxonox/trunk/src/Makefile.in	(revision 4838)
+++ /orxonox/trunk/src/Makefile.in	(revision 4839)
@@ -75,9 +75,9 @@
 	orxonox-null_parent.$(OBJEXT) \
 	orxonox-graphics_engine.$(OBJEXT) orxonox-light.$(OBJEXT) \
-	orxonox-text_engine.$(OBJEXT) orxonox-element_2D.$(OBJEXT) \
-	orxonox-base_object.$(OBJEXT) orxonox-class_list.$(OBJEXT) \
-	orxonox-ini_parser.$(OBJEXT) orxonox-substring.$(OBJEXT) \
-	orxonox-vector.$(OBJEXT) orxonox-curve.$(OBJEXT) \
-	orxonox-glmenu_imagescreen.$(OBJEXT) \
+	orxonox-text_engine.$(OBJEXT) orxonox-element_2d.$(OBJEXT) \
+	orxonox-render_2d.$(OBJEXT) orxonox-base_object.$(OBJEXT) \
+	orxonox-class_list.$(OBJEXT) orxonox-ini_parser.$(OBJEXT) \
+	orxonox-substring.$(OBJEXT) orxonox-vector.$(OBJEXT) \
+	orxonox-curve.$(OBJEXT) orxonox-glmenu_imagescreen.$(OBJEXT) \
 	orxonox-benchmark.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
@@ -97,5 +97,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-crosshair.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-curve.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/orxonox-element_2D.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/orxonox-element_2d.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-environment.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-factory.Po \
@@ -114,4 +114,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-player.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-projectile.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/orxonox-render_2d.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-resource_manager.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-satellite.Po \
@@ -318,5 +319,6 @@
                   lib/graphics/light.cc \
                   lib/graphics/text_engine.cc \
-                  lib/graphics/render2D/element_2D.cc \
+                  lib/graphics/render2D/element_2d.cc \
+                  lib/graphics/render2D/render_2d.cc \
                   lib/lang/base_object.cc \
                   lib/lang/class_list.cc \
@@ -385,4 +387,6 @@
                  lib/graphics/text_engine.h \
                  lib/lang/base_object.h \
+                 lib/graphics/render2D/element_2d.h \
+                 lib/graphics/render2D/render_2d.h \
                  lib/lang/class_list.h \
                  lib/util/ini_parser.h \
@@ -482,5 +486,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-crosshair.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-curve.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-element_2D.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-element_2d.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-environment.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-factory.Po@am__quote@
@@ -499,4 +503,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-player.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-projectile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-render_2d.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-resource_manager.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-satellite.Po@am__quote@
@@ -1143,19 +1148,35 @@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-text_engine.obj `if test -f 'lib/graphics/text_engine.cc'; then $(CYGPATH_W) 'lib/graphics/text_engine.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/text_engine.cc'; fi`
 
-orxonox-element_2D.o: lib/graphics/render2D/element_2D.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-element_2D.o -MD -MP -MF "$(DEPDIR)/orxonox-element_2D.Tpo" -c -o orxonox-element_2D.o `test -f 'lib/graphics/render2D/element_2D.cc' || echo '$(srcdir)/'`lib/graphics/render2D/element_2D.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-element_2D.Tpo" "$(DEPDIR)/orxonox-element_2D.Po"; else rm -f "$(DEPDIR)/orxonox-element_2D.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/render2D/element_2D.cc' object='orxonox-element_2D.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-element_2D.Po' tmpdepfile='$(DEPDIR)/orxonox-element_2D.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-element_2D.o `test -f 'lib/graphics/render2D/element_2D.cc' || echo '$(srcdir)/'`lib/graphics/render2D/element_2D.cc
-
-orxonox-element_2D.obj: lib/graphics/render2D/element_2D.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-element_2D.obj -MD -MP -MF "$(DEPDIR)/orxonox-element_2D.Tpo" -c -o orxonox-element_2D.obj `if test -f 'lib/graphics/render2D/element_2D.cc'; then $(CYGPATH_W) 'lib/graphics/render2D/element_2D.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/render2D/element_2D.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-element_2D.Tpo" "$(DEPDIR)/orxonox-element_2D.Po"; else rm -f "$(DEPDIR)/orxonox-element_2D.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/render2D/element_2D.cc' object='orxonox-element_2D.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-element_2D.Po' tmpdepfile='$(DEPDIR)/orxonox-element_2D.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-element_2D.obj `if test -f 'lib/graphics/render2D/element_2D.cc'; then $(CYGPATH_W) 'lib/graphics/render2D/element_2D.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/render2D/element_2D.cc'; fi`
+orxonox-element_2d.o: lib/graphics/render2D/element_2d.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-element_2d.o -MD -MP -MF "$(DEPDIR)/orxonox-element_2d.Tpo" -c -o orxonox-element_2d.o `test -f 'lib/graphics/render2D/element_2d.cc' || echo '$(srcdir)/'`lib/graphics/render2D/element_2d.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-element_2d.Tpo" "$(DEPDIR)/orxonox-element_2d.Po"; else rm -f "$(DEPDIR)/orxonox-element_2d.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/render2D/element_2d.cc' object='orxonox-element_2d.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-element_2d.Po' tmpdepfile='$(DEPDIR)/orxonox-element_2d.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-element_2d.o `test -f 'lib/graphics/render2D/element_2d.cc' || echo '$(srcdir)/'`lib/graphics/render2D/element_2d.cc
+
+orxonox-element_2d.obj: lib/graphics/render2D/element_2d.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-element_2d.obj -MD -MP -MF "$(DEPDIR)/orxonox-element_2d.Tpo" -c -o orxonox-element_2d.obj `if test -f 'lib/graphics/render2D/element_2d.cc'; then $(CYGPATH_W) 'lib/graphics/render2D/element_2d.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/render2D/element_2d.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-element_2d.Tpo" "$(DEPDIR)/orxonox-element_2d.Po"; else rm -f "$(DEPDIR)/orxonox-element_2d.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/render2D/element_2d.cc' object='orxonox-element_2d.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-element_2d.Po' tmpdepfile='$(DEPDIR)/orxonox-element_2d.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-element_2d.obj `if test -f 'lib/graphics/render2D/element_2d.cc'; then $(CYGPATH_W) 'lib/graphics/render2D/element_2d.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/render2D/element_2d.cc'; fi`
+
+orxonox-render_2d.o: lib/graphics/render2D/render_2d.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-render_2d.o -MD -MP -MF "$(DEPDIR)/orxonox-render_2d.Tpo" -c -o orxonox-render_2d.o `test -f 'lib/graphics/render2D/render_2d.cc' || echo '$(srcdir)/'`lib/graphics/render2D/render_2d.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-render_2d.Tpo" "$(DEPDIR)/orxonox-render_2d.Po"; else rm -f "$(DEPDIR)/orxonox-render_2d.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/render2D/render_2d.cc' object='orxonox-render_2d.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-render_2d.Po' tmpdepfile='$(DEPDIR)/orxonox-render_2d.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-render_2d.o `test -f 'lib/graphics/render2D/render_2d.cc' || echo '$(srcdir)/'`lib/graphics/render2D/render_2d.cc
+
+orxonox-render_2d.obj: lib/graphics/render2D/render_2d.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-render_2d.obj -MD -MP -MF "$(DEPDIR)/orxonox-render_2d.Tpo" -c -o orxonox-render_2d.obj `if test -f 'lib/graphics/render2D/render_2d.cc'; then $(CYGPATH_W) 'lib/graphics/render2D/render_2d.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/render2D/render_2d.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-render_2d.Tpo" "$(DEPDIR)/orxonox-render_2d.Po"; else rm -f "$(DEPDIR)/orxonox-render_2d.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/render2D/render_2d.cc' object='orxonox-render_2d.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-render_2d.Po' tmpdepfile='$(DEPDIR)/orxonox-render_2d.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-render_2d.obj `if test -f 'lib/graphics/render2D/render_2d.cc'; then $(CYGPATH_W) 'lib/graphics/render2D/render_2d.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/render2D/render_2d.cc'; fi`
 
 orxonox-base_object.o: lib/lang/base_object.cc
@@ -1409,5 +1430,5 @@
 
 distdir: $(DISTFILES)
-	$(mkdir_p) $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/graphics $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/util $(distdir)/proto $(distdir)/story_entities $(distdir)/subprojects $(distdir)/util $(distdir)/util/animation $(distdir)/util/loading $(distdir)/util/track $(distdir)/world_entities $(distdir)/world_entities/weapons
+	$(mkdir_p) $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/graphics $(distdir)/lib/graphics/render2D $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/util $(distdir)/proto $(distdir)/story_entities $(distdir)/subprojects $(distdir)/util $(distdir)/util/animation $(distdir)/util/loading $(distdir)/util/track $(distdir)/world_entities $(distdir)/world_entities/weapons
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
Index: /orxonox/trunk/src/defs/class_id.h
===================================================================
--- /orxonox/trunk/src/defs/class_id.h	(revision 4838)
+++ /orxonox/trunk/src/defs/class_id.h	(revision 4839)
@@ -108,5 +108,5 @@
   CL_STATE                      =    0x00000f13,
   CL_FRAMEWORK                  =    0x00000f14,
-
+  CL_RENDER_2D                  =    0x00000f15,
 
 
Index: xonox/trunk/src/lib/graphics/render2D/element_2D.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/render2D/element_2D.cc	(revision 4838)
+++ 	(revision )
@@ -1,50 +1,0 @@
-/*
-   orxonox - the future of 3D-vertical-scrollers
-
-   Copyright (C) 2004 orx
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   ### File Specific:
-   main-programmer: Benjamin Grauer
-   co-programmer: ...
-*/
-
-//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
-
-#include "element_2D.h"
-
-using namespace std;
-
-
-/**
- * standard constructor
- * @todo this constructor is not jet implemented - do it
-*/
-Element2D::Element2D ()
-{
-   this->setClassID(CL_ELEMENT_2D, "Element2D");
-
-   /* If you make a new class, what is most probably the case when you write this file
-      don't forget to:
-       1. Add the new file new_class.cc to the ./src/Makefile.am
-       2. Add the class identifier to ./src/class_id.h eg. CL_NEW_CLASS
-
-      Advanced Topics:
-      - if you want to let your object be managed via the ObjectManager make sure to read
-        the object_manager.h header comments. You will use this most certanly only if you
-        make many objects of your class, like a weapon bullet.
-   */
-}
-
-
-/**
- * standard deconstructor
-*/
-Element2D::~Element2D ()
-{
-  // delete what has to be deleted here
-}
Index: xonox/trunk/src/lib/graphics/render2D/element_2D.h
===================================================================
--- /orxonox/trunk/src/lib/graphics/render2D/element_2D.h	(revision 4838)
+++ 	(revision )
@@ -1,25 +1,0 @@
-/*!
- * @file element_2D.h
- * @brief Definition of the 2D elements rendered on top through the GraphicsEngine
-*/
-
-#ifndef _ELEMENT_2D_H
-#define _ELEMENT_2D_H
-
-#include "base_object.h"
-
-// FORWARD DECLARATION
-
-//! A class for ...
-class Element2D : public BaseObject {
-
- public:
-  Element2D();
-  virtual ~Element2D();
-
-
- private:
-
-};
-
-#endif /* _ELEMENT_2D_H */
Index: /orxonox/trunk/src/lib/graphics/render2D/element_2d.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/render2D/element_2d.cc	(revision 4839)
+++ /orxonox/trunk/src/lib/graphics/render2D/element_2d.cc	(revision 4839)
@@ -0,0 +1,39 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+
+#include "element_2d.h"
+
+using namespace std;
+
+
+/**
+ * standard constructor
+ * @todo this constructor is not jet implemented - do it
+*/
+Element2D::Element2D ()
+{
+   this->setClassID(CL_ELEMENT_2D, "Element2D");
+
+}
+
+/**
+ * standard deconstructor
+*/
+Element2D::~Element2D ()
+{
+  // delete what has to be deleted here
+}
Index: /orxonox/trunk/src/lib/graphics/render2D/element_2d.h
===================================================================
--- /orxonox/trunk/src/lib/graphics/render2D/element_2d.h	(revision 4839)
+++ /orxonox/trunk/src/lib/graphics/render2D/element_2d.h	(revision 4839)
@@ -0,0 +1,38 @@
+/*!
+ * @file element_2d.h
+ * @brief Definition of the 2D elements rendered on top through the GraphicsEngine
+*/
+
+#ifndef _ELEMENT_2D_H
+#define _ELEMENT_2D_H
+
+#include "base_object.h"
+
+// FORWARD DECLARATION
+
+//!< An enumerator defining the Depth of a 2D-element.
+typedef enum
+{
+  E2D_TOP,                             //!< Will be rendered on top of everything else
+  E2D_MEDIUM,                          //!< Will be rendered on the medium Layer.
+  E2D_BOTTOM,                          //!< Will be rendered on the bottom Layer
+  E2D_BELOW_ALL                        //!< Will be rendered below the 3D-scene. @todo make this work.
+}E2DDepth;
+
+//! A class for ...
+class Element2D : public BaseObject {
+
+ public:
+  Element2D();
+  virtual ~Element2D();
+
+
+ private:
+   bool               bDraw;
+   int                position2D[2];    //!< X-coord, Y-Coord
+   E2DDepth           depth;
+
+};
+
+
+#endif /* _ELEMENT_2D_H */
Index: /orxonox/trunk/src/lib/graphics/render2D/render_2d.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/render2D/render_2d.cc	(revision 4838)
+++ /orxonox/trunk/src/lib/graphics/render2D/render_2d.cc	(revision 4839)
@@ -16,7 +16,8 @@
 //#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
 
-#include "proto_singleton.h"
+#include "render_2d.h"
 
 using namespace std;
+
 
 
@@ -24,19 +25,9 @@
  * standard constructor
  */
-ProtoSingleton::ProtoSingleton ()
+Render2D::Render2D ()
 {
-   this->setClassName("ProtoSingleton");
-   this->setClassID(CL_PROTO_ID, "ProtoSingleton");
+   this->setClassID(CL_RENDER_2D, "Render2D");
+   this->setName("Render2D");
 
-   /* If you make a new class, what is most probably the case when you write this file
-      don't forget to:
-       1. Add the new file new_class.cc to the ./src/Makefile.am
-       2. Add the class identifier to ./src/class_id.h eg. CL_NEW_CLASS
-
-      Advanced Topics:
-      - if you want to let your object be managed via the ObjectManager make sure to read
-        the object_manager.h header comments. You will use this most certanly only if you
-        make many objects of your class, like a weapon bullet.
-   */
 }
 
@@ -44,11 +35,11 @@
  *  the singleton reference to this class
  */
-ProtoSingleton* ProtoSingleton::singletonRef = NULL;
+Render2D* Render2D::singletonRef = NULL;
 
 /**
    @brief standard deconstructor
  */
-ProtoSingleton::~ProtoSingleton ()
+Render2D::~Render2D ()
 {
-  ProtoSingleton::singletonRef = NULL;
+  Render2D::singletonRef = NULL;
 }
Index: /orxonox/trunk/src/lib/graphics/render2D/render_2d.h
===================================================================
--- /orxonox/trunk/src/lib/graphics/render2D/render_2d.h	(revision 4838)
+++ /orxonox/trunk/src/lib/graphics/render2D/render_2d.h	(revision 4839)
@@ -1,9 +1,9 @@
 /*!
- * @file proto_singleton.h
- * @brief Definition of the ... singleton Class
+ * @file render_2d.h
+ * @brief Definition of the 2D-rendering engine singleton Class
 */
 
-#ifndef _PROTO_SINGLETON_H
-#define _PROTO_SINGLETON_H
+#ifndef _RENDER_2D_H
+#define _RENDER_2D_H
 
 #include "base_object.h"
@@ -12,15 +12,15 @@
 
 //! A default singleton class.
-class ProtoSingleton : public BaseObject {
+class Render2D : public BaseObject {
 
  public:
-  virtual ~ProtoSingleton(void);
+  virtual ~Render2D(void);
   /** @returns a Pointer to the only object of this Class */
-  inline static ProtoSingleton* getInstance(void) { if (!singletonRef) singletonRef = new ProtoSingleton();  return singletonRef; };
+  inline static Render2D* getInstance(void) { if (!singletonRef) singletonRef = new Render2D();  return singletonRef; };
 
  private:
-  ProtoSingleton(void);
-  static ProtoSingleton* singletonRef;
+  Render2D(void);
+  static Render2D* singletonRef;
 };
 
-#endif /* _PROTO_SINGLETON_H */
+#endif /* _RENDER_2D_H */
Index: /orxonox/trunk/src/proto/proto_singleton.cc
===================================================================
--- /orxonox/trunk/src/proto/proto_singleton.cc	(revision 4838)
+++ /orxonox/trunk/src/proto/proto_singleton.cc	(revision 4839)
@@ -26,6 +26,6 @@
 ProtoSingleton::ProtoSingleton ()
 {
-   this->setClassName("ProtoSingleton");
    this->setClassID(CL_PROTO_ID, "ProtoSingleton");
+   this->setName("ProtoSingleton");
 
    /* If you make a new class, what is most probably the case when you write this file
