diff --git a/main.cpp b/main.cpp
index 01318f9ca9e5b702c2f4ec39a2e9da3a15e56ca3..60e179c9fd4c969a80be949a7622bc8f1567c270 100644
--- a/main.cpp
+++ b/main.cpp
@@ -3,6 +3,9 @@
 #include "./sources/Biblioteca.hpp"
 #include "./sources/Livro.hpp"
 #include "./sources/Periodico.hpp"
+#include "./sources/DescricaoObra.hpp"
+#include "./sources/Obra.hpp"
+#include "./sources/ControladorObras.hpp"
 
 using namespace std;
 
@@ -27,13 +30,31 @@ int main(){
   //      break;
   //  }
   //}
-  Periodico p("Revista de Ciência", 2023, 5, 3);
-  Livro l("C++ Programming", 2022, "John Doe", "Tech Books");
+  
+  cout << "==> Instanciando uma Descricao de Obra: " << endl;
+  DescricaoObra desc("Mochileiro das galáxias", 1999);
+  desc.mostrarDetalhes();
+  cout << endl;
 
-  std::cout << "Detalhes do Periódico:\n";
+  cout << "==> Instanciando um Periodico: " << endl;
+  Periodico p("Revista de Ciência", 2023, 5, 3);
   p.mostrarDetalhes();
-  std::cout << "\nDetalhes do Livro:\n";
+  cout << endl;
+
+  cout << "==> Instanciando um Livro: " << endl;
+  Livro l("C++ Programming", 2022, "John Doe", "Tech Books");
   l.mostrarDetalhes();
+  cout << endl;
+
+  cout << "==> Instanciando uma Obra: " << endl;
+  int disponiveis = 10, total = 14;
+  Obra ob(desc, disponiveis, total);
+  ob.mostrarDetalhes();
+  cout << endl;
+
+  cout << "==> Instanciando o Controlador de Obras: " << endl;
+  ControladorObras obras;
+