refactor y reestructuracion