Author: Ewald Rosenbrock