ajustado padrão observer