diff --git a/miniShell/miniShell.cpp b/miniShellSRC/miniShell.cpp
similarity index 100%
rename from miniShell/miniShell.cpp
rename to miniShellSRC/miniShell.cpp
diff --git a/miniShell/runMiniShell.cpp b/miniShellSRC/runMiniShell.cpp
similarity index 100%
rename from miniShell/runMiniShell.cpp
rename to miniShellSRC/runMiniShell.cpp
diff --git a/src/main.cpp b/src/main.cpp
index d94713d2d1226176e67dabcefa56977d6f3c24e3..9463b574a7420a36983039c2ac29a66170c55271 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -14,7 +14,7 @@ int main(int argc, char *argv[]) {
   SubMessage serverReceive, resposta;
   string service, message, command, parameter;
   char *buff, *currentPath, *receiptMessage = (char*)malloc(sizeof(char*)*68);
-  int socket, sendSize, receiptSize;
+  int sendSize, receiptSize;
   long size;
 
   if(argc != 2){                                           // Testa o número de parâmetros de estrada do programa.
@@ -25,9 +25,9 @@ int main(int argc, char *argv[]) {
   service = argv[1];
 
   // Estabelece a conexão
-  socket = openRawSocket("eth0");
+  soquete = openRawSocket("eth0");
   // Verifica se a conexão socket deu certo
-  if(socket == -1){
+  if(soquete == -1){
     cout << "Problemas com o Socket." << endl;
     return 0;
   }
@@ -48,13 +48,15 @@ int main(int argc, char *argv[]) {
         parameter = "";
         cin >> parameter;
         lsMini(parameter, currentPath);
-      }
-      else if(command == "cd"){
+      }else if(command == "cd"){
         cin >> parameter;
         cdMini(parameter);
-      } else if(command == "rcd"){
+      }else if(command == "rcd"){
         cin >> parameter;
         mainMessage.sendCD((unsigned char*)(parameter.c_str()));
+      }else if(command == "send"){
+        cin >> parameter;
+        send(soquete,parameter.c_str(),64, 0);
       }
     }
   }else if(service == "server"){
diff --git a/src/messages.cpp b/src/messages.cpp
index 76fe10fa97cb843ed5950bedd03febcd73a0aa08..a634445ec693842c4cc8a2b59656eb18240d63de 100644
--- a/src/messages.cpp
+++ b/src/messages.cpp
@@ -15,9 +15,9 @@ int Message::sendCD(unsigned char* dirName){
   ufds[0].events = POLLIN;
 
   changeDir.setData(dirName,3,0);
-
+cout << changeDir.getType() << " - " << changeDir.getSize() << endl;
   while(!success){
-    error = send(soquete, changeDir.objToString(), changeDir.getSize()+4, 0);
+    error = send(soquete, changeDir.objToString(), 68, 0);
     if (error == -1){
       cout << "Erro ao tentar mudar de diretório (messages.cpp::sendCD)" << endl;
     }
diff --git a/src/submessages.cpp b/src/submessages.cpp
index 9c32a245d908187ec72d98039a466c617762624d..ec91cc8b2f2c16a8cb1a4b35d1f77cf369ebcc1d 100644
--- a/src/submessages.cpp
+++ b/src/submessages.cpp
@@ -60,8 +60,8 @@ void SubMessage::setData(unsigned char* dataBody, int type, int seq){
       data[i] = dataBody[i];
   }
 
-  cout << tamanho << endl;
-  setSizSeqTyp(tamanho, type, seq);
+  setSizSeqTyp(tamanho, seq, type);
+
   setParity();
 }
 
@@ -78,11 +78,11 @@ int SubMessage::getSize(){
 }
 
 int SubMessage::getSeq(){
-  return((sizSeqTyp >> 4) & 0x3F); //XXXXXX111111XXXX
+  return((sizSeqTyp >> 4) & 0x003F); //XXXXXX111111XXXX
 }
 
 int SubMessage::getType(){
-  return(sizSeqTyp & 0xF); //XXXXXXXXXXXX1111
+  return(sizSeqTyp & 0x000F); //XXXXXXXXXXXX1111
 }
 
 unsigned char SubMessage::getParity(){