Author: Johan Adrian Velasquez Diaz