refactor al algoritmo para hacerlo mas legible..