This is Niclas Küpper's BSc thesis.