Implementação com base na classe oferecida pelo Fabio commit 3: Atualização dos metodos com comentarios