Author: Neil Harman,Markus Roggenbach,Jos Luis Fiadeiro