diff --git a/include/Adt/AdtDialect.h b/include/Adt/AdtDialect.h
index 8b5cdcd7a3fc85c16ac13c3265f64d6b277b0b74..b310803008b83c9f73be3cf926b3d1614d4e0521 100644
--- a/include/Adt/AdtDialect.h
+++ b/include/Adt/AdtDialect.h
@@ -13,7 +13,8 @@ namespace mlir::adt{
 
 
 #define GET_OP_CLASSES
-#include "../../build/include/Adt/AdtOpsDialect.h.inc"
+#include "Adt/AdtOps.h.inc"
+#include "Adt/AdtOpsDialect.h.inc"
 
 
 /// This class defines the adt source types.
diff --git a/include/Adt/AdtOps.td b/include/Adt/AdtOps.td
index 88d0862b3cdd30c59a781dd19b1c65a40ddb8786..ee3dedb6e56c3faf589e38a2421a0dc5fec84715 100644
--- a/include/Adt/AdtOps.td
+++ b/include/Adt/AdtOps.td
@@ -2,7 +2,11 @@
 #define ADT_OPS
 
 include "mlir/IR/OpBase.td"
-
+include "mlir/Interfaces/CallInterfaces.td"
+include "mlir/Interfaces/CastInterfaces.td"
+include "mlir/Interfaces/SideEffectInterfaces.td"
+include "mlir/IR/BuiltinAttributes.td"
+include "mlir/IR/BuiltinAttributeInterfaces.td"
 //===----------------------------------------------------------------------------------------===//
 // Adt dialect definition.
 //==-----------------------------------------------------------------------------------------===//
@@ -32,5 +36,16 @@ def Adt_TypeSource :
 
 // Provide a definition of the types that are used within the Toy dialect.
 def Toy_Type : AnyTypeOf<[Adt_TypeSource]>;
-
+// Providing a definition of the operation used with our dialect.
+//===----------------------------------------------------------------------===//
+// TypeConstantOp
+//===----------------------------------------------------------------------===//
+def TypeConstantOp : Adt_Op<"type_constant",[Pure]>{
+  let summary = "type constant";
+  let description = [{
+  Turning a type declaration into an instance.
+  }];
+  let arguments = (ins Builtin_StringAttr:$value);
+  let results = (outs Adt_TypeSource:$output);
+}
 #endif // ADT_OPS
\ No newline at end of file
diff --git a/lib/Adt/AdtDialect.cpp b/lib/Adt/AdtDialect.cpp
index be0a8ccb0680568faa659b7f3297523c899371e1..83439e16c99e25bc3242121eee5aa5654a041dcd 100644
--- a/lib/Adt/AdtDialect.cpp
+++ b/lib/Adt/AdtDialect.cpp
@@ -80,12 +80,12 @@ class SumType : public TypeSource{
 
 };
 #define GET_OP_CLASSES
-#include "../build/include/Adt/AdtOpsDialect.cpp.inc"
+#include "Adt/AdtOps.cpp.inc"
 
 void AdtDialect::initialize() {
     addOperations<
 #define GET_OP_LIST
-#include "../build/include/Adt/AdtOps.cpp.inc"
+#include "Adt/AdtOps.cpp.inc"
     >();
     addTypes<TypeSource>();
 }