commit da documentação + refatoração do código

Refatoração do código.
Adição da documentação do código.
Adição de novos casos de uso.
Correção de bugs.