Adicionado alguns comentarios para entendimento