Adicionando o código da implementação inicial