Emprolijado el codigo y mejorada la funcionalidad.