Author: Ricardo Pavel Parada Morado