no pude cambiar mucho, pero refactoree unas cosas