diff --git a/docs/documentation.aux b/docs/documentation.aux
index e616d66da8308aef6d3236728e5a4ed9cc59b3bf..5d4ccd19e75dc76ff09ee9f2cb6c4005fcb4a6be 100644
--- a/docs/documentation.aux
+++ b/docs/documentation.aux
@@ -48,10 +48,10 @@
 \@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Distance Constraint}{4}{subsection.3.3}\protected@file@percent }
 \newlabel{section:DistanceConstraint}{{3.3}{4}{Distance Constraint}{subsection.3.3}{}}
 \newlabel{eq:distance_constraint}{{1}{4}{Distance Constraint}{equation.3.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Bending Constraint}{4}{subsection.3.4}\protected@file@percent }
-\newlabel{section:bendingConstraint}{{3.4}{4}{Bending Constraint}{subsection.3.4}{}}
 \newlabel{fig:dist_constr_proj}{{\caption@xref {fig:dist_constr_proj}{ on input line 427}}{4}{Distance Constraint}{figure.caption.7}{}}
 \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Projection of the distance constraint $C(\boldsymbol  {p_1}, \boldsymbol  {p_2}) = \lvert \boldsymbol  {p_1} - \boldsymbol  {p_2} \rvert - d$. The corrections $\Delta \boldsymbol  {p_i}$ are weighted according to the inverse masses $w_i = 1/m_i$.\relax }}{4}{figure.caption.7}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Bending Constraint}{4}{subsection.3.4}\protected@file@percent }
+\newlabel{section:bendingConstraint}{{3.4}{4}{Bending Constraint}{subsection.3.4}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Collision Constraint}{4}{subsection.3.5}\protected@file@percent }
 \@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Different distance and particle pairing definitions yield significantly different results. Particle masses were slightly randomized for a variance between strands. In each below simulation, $nr_{seg}$ particles of length $l_{seg}$ were generated. Distance constraints acting as bending constraints had a stiffness parameter $k$. Distance constraints responsible for keeping the particles $l_{seg}$ distance apart always had a $k_{pos}=1$ stiffness parameter.\relax }}{5}{figure.caption.8}\protected@file@percent }
 \newlabel{fig:bendingConstraint}{{3}{5}{Different distance and particle pairing definitions yield significantly different results. Particle masses were slightly randomized for a variance between strands. In each below simulation, $nr_{seg}$ particles of length $l_{seg}$ were generated. Distance constraints acting as bending constraints had a stiffness parameter $k$. Distance constraints responsible for keeping the particles $l_{seg}$ distance apart always had a $k_{pos}=1$ stiffness parameter.\relax }{figure.caption.8}{}}
@@ -78,7 +78,6 @@
 \@writefile{toc}{\contentsline {subsection}{\numberline {7.5}Sequence for randomizing hair positions}{6}{subsection.7.5}\protected@file@percent }
 \newlabel{section:futureHalton}{{7.5}{6}{Sequence for randomizing hair positions}{subsection.7.5}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {7.6}Rendering}{6}{subsection.7.6}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.7}Moving to the GPU}{6}{subsection.7.7}\protected@file@percent }
 \bibstyle{ACM-Reference-Format}
 \bibdata{references}
 \bibcite{PixarPaper}{{1}{2013}{{Iben et~al\mbox  {.}}}{{Iben, Meyer, Petrovic, Soares, Anderson, and Witkin}}}
@@ -88,6 +87,7 @@
 \bibcite{RappRealTime}{{5}{2014}{{Rapp}}{{Rapp}}}
 \bibcite{UmenhofferSimulation}{{6}{2016}{{Umenhoffer et~al\mbox  {.}}}{{Umenhoffer, Marschal, and Suti}}}
 \citation{MullerPBD}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.7}Moving to the GPU}{7}{subsection.7.7}\protected@file@percent }
 \@writefile{toc}{\contentsline {section}{Acknowledgments}{7}{section*.10}\protected@file@percent }
 \@writefile{toc}{\contentsline {section}{References}{7}{section*.12}\protected@file@percent }
 \@writefile{toc}{\contentsline {section}{\numberline {A}Constraint Projection}{7}{appendix.A}\protected@file@percent }
diff --git a/docs/documentation.log b/docs/documentation.log
index 10590d526fa7244ec14a9e785855433b9ced2d8a..68eb646ce3fe94cf529e3da971d8a1174dfbe6fc 100644
--- a/docs/documentation.log
+++ b/docs/documentation.log
@@ -1,4 +1,4 @@
-This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.12.8)  10 DEC 2020 22:27
+This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.12.8)  11 DEC 2020 00:23
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -1283,11 +1283,11 @@ File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS)
 (/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg
 File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS)
 )
-<teaser.png, id=142, 602.25pt x 401.5pt>
-File: teaser.png Graphic file (type png)
-<use teaser.png>
-Package pdftex.def Info: teaser.png  used on input line 128.
-(pdftex.def)             Requested size: 505.89pt x 337.27606pt.
+<teaser_redhead.png, id=142, 444.91219pt x 297.36093pt>
+File: teaser_redhead.png Graphic file (type png)
+<use teaser_redhead.png>
+Package pdftex.def Info: teaser_redhead.png  used on input line 128.
+(pdftex.def)             Requested size: 505.89pt x 338.11926pt.
 LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/b/n' will be
 (Font)              scaled to size 12.0pt on input line 128.
 LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/n' will be
@@ -1324,7 +1324,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
 
  [1.1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}
 
- <./teaser.png>]
+ <./teaser_redhead.png>]
 LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/sb/n' will be
 (Font)              scaled to size 10.0pt on input line 230.
 LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/sb/n' will be
@@ -1380,7 +1380,10 @@ LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/n' will be
 (Font)              scaled to size 7.0pt on input line 293.
 LaTeX Font Info:    Font shape `T1/zi4/m/n' will be
 (Font)              scaled to size 8.0pt on input line 298.
-[2.2]
+
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [2.2]
 Underfull \vbox (badness 10000) has occurred while \output is active []
 
  [3.3]
@@ -1437,7 +1440,11 @@ Underfull \hbox (badness 10000) in paragraph at lines 625--625
  / drive / folders / 1n79xSokrBe2lKQixX _
  []
 
-[6.6] Processing 'acks' comment.
+
+Underfull \vbox (badness 3919) has occurred while \output is active []
+
+ [6.6]
+Processing 'acks' comment.
 \openout3 = `comment.cut'.
 
  Comment 'acks' writing to comment.cut.
@@ -1485,8 +1492,8 @@ Package rerunfilecheck Info: File `documentation.out' has not changed.
  ) 
 Here is how much of TeX's memory you used:
  30722 strings out of 481239
- 535825 string characters out of 5920377
- 819874 words of memory out of 5000000
+ 535873 string characters out of 5920377
+ 819887 words of memory out of 5000000
  44731 multiletter control sequences out of 15000+600000
  724208 words of font info for 377 fonts, out of 8000000 for 9000
  1302 hyphenation exceptions out of 8191
@@ -1518,7 +1525,7 @@ tineTZ.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/newtx/txexs.pfb></
 usr/share/texlive/texmf-dist/fonts/type1/public/newtx/txmiaX.pfb></usr/share/te
 xlive/texmf-dist/fonts/type1/public/txfonts/txsyb.pfb></usr/share/texlive/texmf
 -dist/fonts/type1/public/newtx/txsys.pfb>
-Output written on documentation.pdf (8 pages, 624343 bytes).
+Output written on documentation.pdf (8 pages, 627309 bytes).
 PDF statistics:
  467 PDF objects out of 1000 (max. 8388607)
  403 compressed objects within 5 object streams
diff --git a/docs/documentation.pdf b/docs/documentation.pdf
index 2bf0c6012304def2dec425ec1869d1e74407cf64..efff0b46b345166beaff638a38eb20bc8cc0b477 100644
Binary files a/docs/documentation.pdf and b/docs/documentation.pdf differ
diff --git a/docs/documentation.tex b/docs/documentation.tex
index 68050b1ffdf4fb4935479822c98d160f25399019..59ab91330747d88c240e5a9f45e5794fc2e8d4e5 100644
--- a/docs/documentation.tex
+++ b/docs/documentation.tex
@@ -116,7 +116,7 @@
 %% information and the body of the document, and typically spans the
 %% page.
 \begin{teaserfigure}
-  \includegraphics[width=\textwidth]{teaser.png}
+  \includegraphics[width=\textwidth]{teaser_redhead.png}
   \caption{The achieved visual look}
   \Description{Using 400 hair pieces, with 25 particles on each piece of hair.}
   \label{fig:teaser}
diff --git a/docs/teaser_redhead.png b/docs/teaser_redhead.png
new file mode 100644
index 0000000000000000000000000000000000000000..11f8035426608e6ff854a1dde04417b3b5cb62f3
Binary files /dev/null and b/docs/teaser_redhead.png differ
diff --git a/src/rendering/Scene.cpp b/src/rendering/Scene.cpp
index 19cdd7af7542296bd8e9d0ae7419e7269967bacb..1a4bf9143a088446d24502c0068341c46f4d5580 100644
--- a/src/rendering/Scene.cpp
+++ b/src/rendering/Scene.cpp
@@ -13,9 +13,9 @@ Scene::Scene(int w, int h) : camera(vec3(0, -.15f, .5), // Camera position (wEye
 
 
 void Scene::Build() {
-    size_t nrSims = 200;
-    size_t nrSegments = 30;
-    float lSeg = 0.025f;
+    size_t nrSims = 250;
+    size_t nrSegments = 45;
+    float lSeg = 0.02f;
 
 
     Shader *basicShader = new BasicShader();
@@ -24,16 +24,16 @@ void Scene::Build() {
     auto sphere = new Sphere();
     Shader *phongShader = new PhongShader();
     Material *headMaterial = new Material;
-    headMaterial->kd = vec3(0.5f, 0.5f, 0.5f);
-    headMaterial->ks = vec3(.7f, .7f, .7f);
-    headMaterial->ka = vec3(.15f, .15f, .15f);
-    headMaterial->shininess = 10;
+    headMaterial->kd = vec3(.8f, 0.8f, 0.8f);
+    headMaterial->ks = vec3(.5f, .5f, .5f);
+    headMaterial->ka = vec3(1.f, 1.f, 1.f);
+    headMaterial->shininess = 100;
 
-    Texture *headTexture = new UniformColorTexture(.25f, .25f, .35f);
+    Texture *headTexture = new UniformColorTexture(.49f, .8666f, .78f);
 //    Texture *headTexture = new CheckerBoardTexture(1, 0);
 
 //    auto headObject = new HeadObject(phongShader, sphere, headMaterial, headTexture);
-    auto headObject = new HeadObject(phongShader, new ObjGeometry("../data/susanne.obj"), headMaterial, headTexture);
+    auto headObject = new HeadObject(phongShader, new ObjGeometry("../data/sphere.obj"), headMaterial, headTexture);
 
     headObject->Scale(vec3(.35, .35, .35));
     objects.push_back(headObject);
@@ -51,18 +51,18 @@ void Scene::Build() {
 //    objects.push_back(testObject);
 
     // Lights
-    lights.resize(1);
+    lights.resize(3);
     lights[0].wLightPos = vec4(0.0f, 3.0f, 1.5f, 0);    // ideal point -> directional light source
-    lights[0].La = vec3(3.0f, 3.0f, 3.0f);
+    lights[0].La = vec3(0.0f, 7.0f, 7.0f);
     lights[0].Le = vec3(1, 1, 1);
 
-//    lights[1].wLightPos = vec4(2.0f, 3.0f, 1.0f, 0);    // ideal point -> directional light source
-//    lights[1].La = vec3(0.2f, 0.2f, 0.2f);
-//    lights[1].Le = vec3(1, 1, 1);
+    lights[1].wLightPos = vec4(2.0f, 3.0f, 1.0f, 0);    // ideal point -> directional light source
+    lights[1].La = vec3(0.f, 3.5f, 3.5f);
+    lights[1].Le = vec3(1, 1, 1);
 
-//    lights[2].wLightPos = vec4(0, 0, 1, 0);    // ideal point -> directional light source
-//    lights[2].La = vec3(0.1f, 0.1f, 0.1f);
-//    lights[2].Le = vec3(1, 1, 1);
+    lights[2].wLightPos = vec4(0, 0, 1, 0);    // ideal point -> directional light source
+    lights[2].La = vec3(0.f, 3.5f, 3.5f);
+    lights[2].Le = vec3(1, 1, 1);
 }
 
 void Scene::Render() {