código relativamente limpio y funcionando en todos sus módulos