Refactorizacion del think(). Espero que ahora todo se pueda ver mas
claro