diff --git a/src/methods/approx_kfn/approx_kfn.cpp b/src/methods/approx_kfn/approx_kfn.cpp
index 44d37fd0fd6d71f6c1f0f5ee48e3976fcbe67106..fa198355b4e438b862c1f633b645fbeeeef39651 100644
--- a/src/methods/approx_kfn/approx_kfn.cpp
+++ b/src/methods/approx_kfn/approx_kfn.cpp
@@ -17,9 +17,10 @@ using namespace std;
 using namespace mlpack::neighbor;
 
 // Global Variable of the DrusillaSelect object so it can be accessed from all functions
-DrusillaSelect drusillaSelect;
+DrusillaSelect<mat> drusillaSelect = DrusillaSelect(0,0);
+
 // Global Variable of the QDAFN object so it can be accessed from all functions
-QDAFN qdafn;
+QDAFN<mat> qdafn = QDAFN(0,0);
 
 // TODO: 
 // input:   const size_t 	l,
@@ -61,7 +62,7 @@ void searchDrusilla(float *querySetMatArr, SP_integer querySetMatSize, SP_intege
     mat querySet = convertArrayToMat(querySetMatArr, querySetMatSize, querySetMatRowNum);
 
     // create the ReturnMat
-    mat neighborsReturnMat;
+    Mat< size_t> neighborsReturnMat;
 
     // create the ReturnMat
     mat distancesReturnMat;
@@ -138,7 +139,7 @@ void searchQDAFN(float *querySetMatArr, SP_integer querySetMatSize, SP_integer q
     mat querySet = convertArrayToMat(querySetMatArr, querySetMatSize, querySetMatRowNum);
 
     // create the ReturnMat
-    mat neighborsReturnMat;
+    Mat< size_t > neighborsReturnMat;
 
     // create the ReturnMat
     mat distancesReturnMat;
@@ -173,4 +174,4 @@ void trainQDAFN(float *referenceSetMatArr, SP_integer referenceSetMatSize, SP_in
     mat referenceSet = convertArrayToMat(referenceSetMatArr, referenceSetMatSize, referenceSetMatRowNum);
     
     qdafn.Train(referenceSet, l, m);
-}
\ No newline at end of file
+}