diff --git a/LEIAME.txt b/LEIAME.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bcf821fcb738260ab71976c2145ce55774503bba
--- /dev/null
+++ b/LEIAME.txt
@@ -0,0 +1,34 @@
+------------------------------------------------------
+------- Eduardo Maia Machado - GRR20142062 -----------
+------- Victor Luis Perszel - GRR20144615 ------------
+------------------------------------------------------
+
+	Este é o relatório referente ao trabalho 1 da disciplina de Redes de Computadores I, implementado pelos alunos Eduardo Machado e Victor Perszel.
+	Os arquivos e diretórios existentes na pasta raiz do trabalho são:
+	- include: diretório contendo as bibliotecas do programa, são elas:
+		- connectionRawSocket.h: contém todos os .h necessários para a compilação dos arquivos e a função do arquivo connectionRawSocket.cpp;
+		- messages.h: biblioteca para o messages.cpp, contendo a class Message, que contém as funções de envio / recebimento do CD, LS, PUT, GET e DATA;
+		- submessages.h: biblioteca para o submessages.cpp, contém a class SubMessage, com o protocolo das submensagens conforme especificação (Delimitador de Início, Tamanho, Sequência, etc...) e funções que setam / retornam o valor de cada campo;
+		- miniShell.h: biblioteca para o miniShell.cpp, detalhado mais abaixo.
+	- lib: diretório contendo os arquivos .a do programa, gerados apenas após o Makefile, são eles: connectionRawSocket.a, messages.a, submessages.a e miniShell.a;
+	- obj: diretório contendo os arquivos objeto (.o) do programa, gerados apenas após o Makefile, são eles: connectionRawSocket.o, messages.o, submessages.o e miniShell.o;
+	- src:  diretório contendo o código fonte do programa em si. São arquivos .cpp. A linguagem utilizada para o trabalho foi C++, pois assim podemos trabalhar com orientação a objetos. Há quatro arquivos nesse diretório:
+		- connectionRawSocket.cpp: arquivo fornecido pelo professor, para a implementação do socket;
+		- submessages.cpp: implementa as funções das submensagem, tais como setar / retornar delimitador de início, tamanho, sequência, tipo, dados e paridade, além de funções que transformam o objeto em uma string, e vice-versa;
+		- messages.cpp: contém as funções que fazem tanto as requisições (client) quanto o recebimento / resposta (server) dos comandos CD, LS, PUT e GET;
+		- miniShell.cpp: controla o shell local, realizado as funções de CD e LS local;
+		- main.cpp: abre o socket, verifica se é o server ou client e chama as funções corretamente conforme as mensagens vão sendo enviadas / recebidas;
+	- Makefile: utilizado para compilação do programa. Use “make” para compilar e “make clean” para limpar os arquivos gerados com a compilação;
+	- connection: o executável do programa.
+	O executável é o mesmo tanto para o cliente quanto para o servidor. Para executar o programa deve-se digitar “sudo ./connection client” para iniciar como cliente e “sudo ./connection server” para iniciar como servidor.
+	O cliente e o servidor devem estar conectados com um cabo cross-over.
+	Inicialmente foi implementado o processo de Janelas Deslizantes, porém, havia sido feito o processo de Volta-N, não Repetição Seletiva (como especificado). O fato de termos que mudar a janela, junto ao fato de o próprio volta-n estar trazendo problemas e o prazo se encurtando, fez com que nós optassemos pela implementação de para-e-espera. Por isso, o código é uma adaptação do que deveria ser uma janela deslizante.
+	A paridade (implementada em submessages.cpp) foi implementada verticalmente. E sua função de checagem (checkParity) a recalcula e compara com a anterior.
+	O timeout das mensagens é implentado com a struct pollfd (#include <poll.h>) e verifica se existem mensagens recebidas a cada 500ms. Se forem recebidas 10 mensagens sem sucesso (lixo), as mensagens sem retorno serão reenviadas.
+	Quando o client manda um CDR (código para CD Remoto), pode obter de retorno um “OK” (que certifica que o diretório foi modificado), um “NACK” que vai reenviar o pedido ou um “ERRO” que pode ser de (0) Diretório Inexistente ou de (1) Sem Permissão para acessar o Diretório.
+	Caso mande um LSR (código para LS Remoto), o erro possível é de Opção inválida (caso não seja ., -l, -a ou -la. Volta e meia um LSR acaba por crashar (quebrar) o programa. Não se sabe o motivo desse acontecimento, embora ele seja levemente raro.
+	
+Bugs conhecidos:
+	→ “CD ..” pode, raramente, voltar de diretório mais de uma vez.
+	→ LS Remoto pode crashar o programa ocasionalmente.
+	→ O PUT não funciona caso o arquivo não seja do diretório onde o programa foi inicializado.