diff --git a/SequenceComparison/distancet.h b/SequenceComparison/distancet.h
index 8331c30844a0852190f2562dde1278278061836c..e1d023ea00bf632354749760d8e018a68ef0af24 100644
--- a/SequenceComparison/distancet.h
+++ b/SequenceComparison/distancet.h
@@ -3,6 +3,13 @@
 
 #include "calcul.h"
 
+enum distance_type {
+	euklid = 1,
+	manhattan = 2,
+	csiChroma = 3,
+	csiChord = 4
+};
+
 ///Contains pointer to currently used distance function which is internally used for 
 struct distancet {
 
@@ -23,16 +30,16 @@ struct distancet {
 	{
 		switch (type_)
 		{
-			case 1:	dist.classic = calcul::distance_dtw_euklid;	
+			case distance_type::euklid: dist.classic = calcul::distance_dtw_euklid;	
 				type = 1;	
 				break;
-			case 2: dist.classic = calcul::distance_dtw_manhattan; 
+			case distance_type::manhattan: dist.classic = calcul::distance_dtw_manhattan;
 				type = 1;	
 				break;
-			case 3: dist.csiChroma = calcul::distance_dtw_csiChroma;
+			case distance_type::csiChroma: dist.csiChroma = calcul::distance_dtw_csiChroma;
 				type = 2;	
 				break;
-			case 4:	dist.csiChord = calcul::distance_dtw_csiChord; 
+			case distance_type::csiChord: dist.csiChord = calcul::distance_dtw_csiChord;
 				type = 3;	
 				break;		
 		}
diff --git a/SequenceComparison/operation.cpp b/SequenceComparison/operation.cpp
index 7e87cbfdccc73230279ffb6a137f388c3e27f570..3e6c8af97f9582128f64b312a9e08f6d28a54348 100644
--- a/SequenceComparison/operation.cpp
+++ b/SequenceComparison/operation.cpp
@@ -30,16 +30,16 @@ result_operation operation::operation_single(input_data_single const &data, para
 	
 	switch (params.operation)
 	{
-	case 0:	//op 0
+	case operation_type::op_method:	//op 1
 		result = params.shift ? dtw_shift(data, params, f1) : dtw(data, params, f1);
 		break;
-	case 1: //op 1
+	case operation_type::op_similarity_matrix: //op 2
 		result = params.shift ? similarityMatrix_shift_omp(data, params, f1) : similarityMatrix_omp(data, params, f1);
 		break;
-	case 2: //op 2
+	case operation_type::op_similarity_evaluation: //op 3
 		result = clustering(data, params, f1);
 		break;
-	case 3: //op 3
+	case operation_type::op_local_alignment_clustering: //op 4
 		result = pdtw_localClustering(data, params, f1); //(Kocyan)
 		break;
 	default:
@@ -68,14 +68,14 @@ result_operation operation::operation_dual(input_data const &data, parameter con
 	result_operation result;
 
 	switch (params.operation)
-	{
-	case 1: //op 1
+	{	
+	case operation_type::op_similarity_matrix: //op 2
 		result = params.shift ? similarityMatrix_shift_omp(data, params, f1) : similarityMatrix_omp(data, params, f1);
 		break;
-	case 2: //op 2
+	case operation_type::op_similarity_evaluation: //op 3
 		result = clustering(data, params, f1);
 		break;
-	case 3:
+	case operation_type::op_local_alignment_clustering: //op 4
 		cout << ("error: Operation 3 is not defined for query data. Please use -single flag or remove query data.");
 		exit(0);
 		break;
diff --git a/SequenceComparison/operation.h b/SequenceComparison/operation.h
index d98e4cefb752a4de78ba8056cf4d4194ab570a27..9f7ae9729e88c1f4a4b49c58fb79a01742abd5a8 100644
--- a/SequenceComparison/operation.h
+++ b/SequenceComparison/operation.h
@@ -7,6 +7,13 @@
 typedef result_dtw(*METHOD)(input_method const &input, input_info const &info, parameter const &params);
 typedef result_pdtw(*PDTW)(vtr3<double> const &input, input_info const &info, parameter const &params);
 
+enum operation_type {
+	op_method = 1,
+	op_similarity_matrix = 2,
+	op_similarity_evaluation = 3,
+	op_local_alignment_clustering = 4
+};
+
 ///Contains operation methods which wraps use of dtw, lcss and pdtw methods.
 ///@details operation 0: Calculates classic dtw or lcss method.<br>
 ///Flags required: -in, -op 0 
diff --git a/SequenceComparison/parameter.h b/SequenceComparison/parameter.h
index 22ce333f6f040b773fe44b9ead3c238535c406f3..4aa4a63db39333ec67dcad3dd5d8a3c966832aca 100644
--- a/SequenceComparison/parameter.h
+++ b/SequenceComparison/parameter.h
@@ -92,7 +92,7 @@ public:
 		precision(3), time(false), printOutput(false), debugInfo(false),
 		shift(false), scoreReversed(false), localAlignment(false),
 		block(0), tmp_exp(false), experiment(false), simd(false), memoization(false), lowerBound(false),
-		method("dtw"), operation(0), distance (1), scoreType(0), ram(5000), clusters(1), ve_window(0), ve_smooth(0),
+		method("dtw"), operation(1), distance (1), scoreType(0), ram(5000), clusters(1), ve_window(0), ve_smooth(0),
 		w(1), fw(0), fd(1), delta(100000), epsilon(1), subsequence(0), treshold_csi(0.07), treshold_t(10), treshold_a(10), treshold_e(10), treshold_l(3),
 		/*recall(10),*/	relax(0),
 		pre_paa(1), pre_reduce(0), pre_sax(0), pre_prolong(0), pre_smooth(0), pre_interpolate(), pre_normalizeZ(), pre_normalizeBy(-1),