nova versão com funções