refatoramento e modelo indireto funcionando