diseno coninue with refactore