diff --git a/confrest.py b/confrest.py
index c19d26bc1eb3cd063ec945498ff70fac9f744f2a_Y29uZnJlc3QucHk=..f9094d32c94c918ebbdef68fc4b462ff2cb403d5_Y29uZnJlc3QucHk= 100644
--- a/confrest.py
+++ b/confrest.py
@@ -1,9 +1,9 @@
 from py.__.documentation.confrest import *
 
-class PyPyPage(Page): 
+class PyPyPage(Page):
     def fill(self):
         super(PyPyPage, self).fill()
         self.menubar[:] = html.div(
             html.a("home", href="index.html", class_="menu"), " ",
             html.a("news", href="news.html", class_="menu"), " ",
             html.a("consortium", href="consortium.html", class_="menu"), " ",
@@ -4,8 +4,11 @@
     def fill(self):
         super(PyPyPage, self).fill()
         self.menubar[:] = html.div(
             html.a("home", href="index.html", class_="menu"), " ",
             html.a("news", href="news.html", class_="menu"), " ",
             html.a("consortium", href="consortium.html", class_="menu"), " ",
+            html.a("community/coding",
+                   href="http://codespeak.net/pypy/dist/pypy/doc/index.html",
+                   class_="menu"), " ",
             " ", id="menubar")
 
@@ -10,8 +13,8 @@
             " ", id="menubar")
 
-class Project(Project): 
-    title = "PyPy EU Project" 
-    stylesheet = 'style.css'
-    encoding = 'latin1' 
+class Project(Project):
+    title = "PyPy EU Project"
+    stylesheet = 'http://codespeak.net/pypy/dist/pypy/doc/style.css'
+    encoding = 'latin1'
     prefix_title = "EU/PyPy"
     logo = html.div(
@@ -16,9 +19,12 @@
     prefix_title = "EU/PyPy"
     logo = html.div(
-        html.a(
-            html.img(alt="PyPy", id="pyimg", 
-                     src="http://codespeak.net/pypy/img/py-web1.png", 
-                     height=110, width=149)))
-    Page = PyPyPage 
+        html.a(html.img(alt="PyPy", id="pyimg",
+                        src="http://codespeak.net/pypy/img/py-web1.png",
+                        height=110, width=149)),
+        html.img(alt="EU Logo", id="extraimg",
+                 src="eu-logo-small.jpg",
+                 height=105, width=154),
+        )
+    Page = PyPyPage
 
 
diff --git a/conftest.py b/conftest.py
index c19d26bc1eb3cd063ec945498ff70fac9f744f2a_Y29uZnRlc3QucHk=..f9094d32c94c918ebbdef68fc4b462ff2cb403d5_Y29uZnRlc3QucHk= 100644
--- a/conftest.py
+++ b/conftest.py
@@ -1,5 +1,5 @@
 import py
 from py.__.documentation.conftest import Directory, DoctestText, ReSTChecker
 
-class PyPyDoctestText(DoctestText): 
+class PyPyDoctestText(DoctestText):
 
@@ -5,8 +5,8 @@
 
-    def run(self): 
-        # XXX refine doctest support with respect to scoping 
-        return  
-        
-    def execute(self, module, docstring): 
-        # XXX execute PyPy prompts as well 
+    def run(self):
+        # XXX refine doctest support with respect to scoping
+        return
+
+    def execute(self, module, docstring):
+        # XXX execute PyPy prompts as well
         l = []
@@ -12,8 +12,8 @@
         l = []
-        for line in docstring.split('\n'): 
-            if line.find('>>>>') != -1: 
-                line = "" 
-            l.append(line) 
-        text = "\n".join(l) 
-        super(PyPyDoctestText, self).execute(module, text) 
+        for line in docstring.split('\n'):
+            if line.find('>>>>') != -1:
+                line = ""
+            l.append(line)
+        text = "\n".join(l)
+        super(PyPyDoctestText, self).execute(module, text)
 
@@ -19,8 +19,8 @@
 
-        #mod = py.std.types.ModuleType(self.fspath.basename, text) 
-        #self.mergescopes(mod, scopes) 
+        #mod = py.std.types.ModuleType(self.fspath.basename, text)
+        #self.mergescopes(mod, scopes)
         #failed, tot = py.std.doctest.testmod(mod, verbose=1)
         #if failed:
         #    py.test.fail("doctest %s: %s failed out of %s" %(
         #                 self.fspath, failed, tot))
 
@@ -22,10 +22,10 @@
         #failed, tot = py.std.doctest.testmod(mod, verbose=1)
         #if failed:
         #    py.test.fail("doctest %s: %s failed out of %s" %(
         #                 self.fspath, failed, tot))
 
-class PyPyReSTChecker(ReSTChecker): 
-    DoctestText = PyPyDoctestText 
-    
-class Directory(Directory): 
-    ReSTChecker = PyPyReSTChecker 
+class PyPyReSTChecker(ReSTChecker):
+    DoctestText = PyPyDoctestText
+
+class Directory(Directory):
+    ReSTChecker = PyPyReSTChecker
diff --git a/consortium.txt b/consortium.txt
index c19d26bc1eb3cd063ec945498ff70fac9f744f2a_Y29uc29ydGl1bS50eHQ=..f9094d32c94c918ebbdef68fc4b462ff2cb403d5_Y29uc29ydGl1bS50eHQ= 100644
--- a/consortium.txt
+++ b/consortium.txt
@@ -15,7 +15,7 @@
 Change Maker http://www.changemaker.nu
 	Beatrice Düring bea@changemaker.nu (assistant project manager)
 
-Merlinux GmbH http://merlinux.de
+merlinux GmbH http://merlinux.de
 	Holger Krekel krekel@merlinux.de (technical director/board)
 
 Heinrich Heine Universität Düsseldorf http://www.uni-duesseldorf.de/
diff --git a/eu-logo-small.jpg b/eu-logo-small.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1bfc4bc3cc6d4e0e7a98cd807a37eca52ba08724
GIT binary patch
literal 5841
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
Jj5R+v^j|#+Wu^cC

diff --git a/index.txt b/index.txt
index c19d26bc1eb3cd063ec945498ff70fac9f744f2a_aW5kZXgudHh0..f9094d32c94c918ebbdef68fc4b462ff2cb403d5_aW5kZXgudHh0 100644
--- a/index.txt
+++ b/index.txt
@@ -1,6 +1,7 @@
-PyPy
+PyPy EU project title 
+--------------------------------
 
 Researching a higly flexible and modular language platform and
 implementing it by leveraging the Open Source Python Language and
 Community
 
@@ -2,8 +3,11 @@
 
 Researching a higly flexible and modular language platform and
 implementing it by leveraging the Open Source Python Language and
 Community
 
+PyPy EU project description 
+--------------------------------
+
 The PyPy project have been an ongoing Open Source Python language
 implementation since 2003.  In December 2004 PyPy recieved EU-funding
 within the Framework Programme 6, second call for proposals ("Open