diff --git a/Makefile b/Makefile
index 3cf988cfb57c553dc87e9c6339ac9f8ce3e37f2a..6b2f69069c9be44a06bad6f72dc89f9ee80d4d4f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,15 @@
 CC=mpicc
 CXX=mpicxx
 
+
+
 FLAGS=-Wall -Wextra -Werror -fPIC -fno-rtti
-TEST_FLAGS=-Wall -Wextra -fPIC #-Werror 
+TEST_FLAGS=-Wall -Wextra
 LDFLAGS=-shared
 
 INCLUDE=-I ./include
 PLUGIN_INCLUDE=$(INCLUDE) -I $(shell $(CC) -print-file-name=plugin)/include
 
-PLUGIN_FLAGS=-fplugin=$(LIBD)/libplugin.so
-
-
 # Options dependant flags
 OPTI_FLAGS=-O2
 DEBUG_FLAGS=-g -Og
@@ -22,6 +21,8 @@ FLAGS+=$(DEBUG_FLAGS)
 #GDB_GCC=-wrapper gdb,--args
 
 
+PLUGIN_NAME=mpicoll_check
+
 # Directories
 SRCD=src
 OBJD=obj
@@ -34,7 +35,10 @@ DOTD=dot
 # Files
 SRCS=$(notdir $(wildcard $(SRCD)/*.cpp))
 OBJS=$(addprefix $(OBJD)/, $(SRCS:cpp=o))
+TARGET=$(LIBD)/$(PLUGIN_NAME).so
+
 
+PLUGIN_FLAGS=-fplugin=$(TARGET) #-fplugin-arg-$(PLUGIN_NAME)-dumpgraph -fplugin-arg-$(PLUGIN_NAME)-showinfo
 
 
 .PHONY: all
@@ -47,7 +51,7 @@ all:
 plugin:
 	mkdir -p $(OBJD)
 	mkdir -p $(LIBD)
-	$(MAKE) $(LIBD)/libplugin.so
+	$(MAKE) $(TARGET)
 
 .PHONY: test
 test:
@@ -70,7 +74,8 @@ test:
 .PHONY: dots
 dots:
 	touch $(DOTD)/lock.dot
-	$(MAKE) $(shell find $(DOTD) -name "*.dot" | sed 's/\.dot/\.svg/')
+	$(MAKE) $(shell find $(DOTD) -name "*.dot" | sed 's/\.dot/\.svg/') \
+	$(DOTD)/lock.svg
 
 $(TESTD)/%: $(TESTSRCD)/%.c
 	$(CC) $(GDB_GCC) $(TEST_FLAGS) $(PLUGIN_FLAGS) $^ -o $@ || echo "(exit 1)"
@@ -78,7 +83,7 @@ $(TESTD)/%: $(TESTSRCD)/%.c
 $(OBJD)/%.o: $(SRCD)/%.cpp 
 	$(CXX) $(FLAGS) $(PLUGIN_INCLUDE) -c $^ -o $@
 
-$(LIBD)/libplugin.so: $(OBJS)
+$(TARGET): $(OBJS)
 	$(CXX) $(FLAGS) $(LDFLAGS) $^ -o $@
 	# removing test scince plugin was rebuild
 	rm -rf $(TESTD)
diff --git a/include/mpi_collective.hpp b/include/mpi_collective.hpp
index 8df09a722926a00988b2cfb49158c9e5607f7e87..5153901291fa553b353bb865d6555af4a7fea02d 100644
--- a/include/mpi_collective.hpp
+++ b/include/mpi_collective.hpp
@@ -160,4 +160,6 @@ void verify_mpicoll_list(void *event_data, void *data);
 extern vec<tree> *fun_vec; //function vector in pragma.
 extern vec<location_t> *loc_vec; //function of the location of the token
 
+extern bool dumpgraph;
+
 #endif
diff --git a/src/mpi_collective_pass.cpp b/src/mpi_collective_pass.cpp
index dcb23d204bed3eef7b0bdabdd14504d1e8e3f22d..a851f23a043ff0e6089c8c681a25acde9c10bd48 100644
--- a/src/mpi_collective_pass.cpp
+++ b/src/mpi_collective_pass.cpp
@@ -85,10 +85,14 @@ unsigned int pass_mpi_collective::execute(function *fun)
 	calc_dom_data();
 
 	label_collec(fun);
-	label_dom(fun);
-	label_post_dom(fun);
-	label_dom_front(fun);
-	label_post_dom_front(fun);
+
+	if(dumpgraph)
+	{
+		label_dom(fun);
+		label_post_dom(fun);
+		label_dom_front(fun);
+		label_post_dom_front(fun);
+	}
 
 	mark_edge(fun);
 	rank_collective(fun);
@@ -101,8 +105,11 @@ unsigned int pass_mpi_collective::execute(function *fun)
 	//bitmap_head pdf = get_frontier_from_pds(fun, &pdbitmap);
 	//debug_bitmap(&pdf);
 
-	cfgviz_dump(fun, "_split");
-
+	if(dumpgraph)
+	{
+		cfgviz_dump(fun, "_split");
+	}
+	
 	raise_warning_mpi_rank(fun);
 	raise_warning_mpi_order(fun);
 
diff --git a/src/plugin.cpp b/src/mpi_collective_plugin.cpp
similarity index 87%
rename from src/plugin.cpp
rename to src/mpi_collective_plugin.cpp
index 0a7cf05b0cce73ad1c40cc4922e30dc2e45c4832..96d61128956ea66da22cc7d5ea9c020ea17f254d 100644
--- a/src/plugin.cpp
+++ b/src/mpi_collective_plugin.cpp
@@ -36,15 +36,29 @@ void print_plugin_infos(struct plugin_name_args *plugin_info,
 vec<tree> *fun_vec;
 vec<location_t> *loc_vec;
 
+bool dumpgraph;
+bool showinfo;
+
+
 /* Main entry point for plugin */
 int
 plugin_init(struct plugin_name_args *plugin_info,
             struct plugin_gcc_version *version)
 {
-	bool debug;
-	debug = false;
+	dumpgraph = false;
+	showinfo = false;
 
-	if (debug)
+	for(int i = 0; i < plugin_info->argc ; ++i)
+	{
+		if(strcmp(plugin_info->argv[i].key, "dumpgraph") == 0){
+			dumpgraph = true;
+		}
+		if(strcmp(plugin_info->argv[i].key, "showinfo") == 0){
+			showinfo = true;
+		}
+	}
+	
+	if (showinfo)
 	{
 		print_plugin_infos(plugin_info, version);
 	}