Comentei parte do codigo, o que eu entendi faltou algumas coisa