versao funcional