Source: http://www.informatik.uni-ulm.de/ni/Lehre/WS01/TI2/folien/6809B.PDF