agregando las modificaciones realizadas por manuel Rubio