diff --git a/src/np_cluster.cpp b/src/cluster/np_cluster.cpp
similarity index 61%
rename from src/np_cluster.cpp
rename to src/cluster/np_cluster.cpp
index e151aed745f5e7633bd23531593cc11f13441dcf..7b0e087a71e00ec4b63f7bb8446d5d0629793447 100644
--- a/src/np_cluster.cpp
+++ b/src/cluster/np_cluster.cpp
@@ -9,7 +9,7 @@
 
 using namespace std;
 
-extern void cluster();
+extern void cluster(string config_file, string data_file, string output_path);
 
 /*! \brief Main program entry point.
  *
@@ -20,6 +20,14 @@ extern void cluster();
  * the configuration and runs the main program.
  */
 int main(int argc, char **argv) {
-	cluster();
+  	string config_file = "../../test_data/cluster/DEDFB";
+	string data_file = "../../test_data/cluster/DCLU";
+	string output_path = ".";
+	if (argc == 4) {
+		config_file = string(argv[1]);
+		data_file = string(argv[2]);
+		output_path = string(argv[3]);
+	}
+	cluster(config_file, data_file, output_path);
 	return 0;
 }
diff --git a/src/np_sphere.cpp b/src/sphere/np_sphere.cpp
similarity index 61%
rename from src/np_sphere.cpp
rename to src/sphere/np_sphere.cpp
index 2e7d05f251b44f4d66550efce2523893e197971e..4522e0282b5c2b3c19cbdd01a6112bc87a290c59 100644
--- a/src/np_sphere.cpp
+++ b/src/sphere/np_sphere.cpp
@@ -9,7 +9,7 @@
 
 using namespace std;
 
-extern void sphere();
+extern void sphere(string config_file, string data_file, string output_path);
 
 /*! \brief Main program entry point.
  *
@@ -20,6 +20,14 @@ extern void sphere();
  * the configuration and runs the main program.
  */
 int main(int argc, char **argv) {
-	sphere();
+	string config_file = "../../test_data/sphere/DEDFB";
+	string data_file = "../../test_data/sphere/DCLU";
+	string output_path = ".";
+	if (argc == 4) {
+		config_file = string(argv[1]);
+		data_file = string(argv[2]);
+		output_path = string(argv[3]);
+	}
+	sphere(config_file, data_file, output_path);
 	return 0;
 }