Reorganizado y separado en 2 clase + validacion