Corregidos errores y mejorada implementacion