Implementação da funcao