Author: Joao Jose Alves Dias A.H. de Olivira Marques