Original Source code. Holger Veit and Daniel Krger