diff --git a/aconversions/src/conversions/rg2fa/Makefile b/aconversions/src/conversions/rg2fa/Makefile
index 2bf7c4c8522576a6d5d6ae87735404c72c6facaf..f4ac9a96d6fb543ab2833471e796bfb15c7164c4 100644
--- a/aconversions/src/conversions/rg2fa/Makefile
+++ b/aconversions/src/conversions/rg2fa/Makefile
@@ -1,8 +1,21 @@
 EXECUTABLE=arg2fa
 
-all: $(EXECUTABLE).o AbstractRGtoFAConverter.o LRGtoFAConverter.o RRGtoFAConverter.o AutomatonUtils.o GrammarUtils.o ConversionException.o
-	$(LD) $(LDFLAGS) $^ -o $(EXECUTABLE)
-	cp $(EXECUTABLE) $(BIN_DIR)
+all: alrg2fa arrg2fa
+	cp alrg2fa $(BIN_DIR)
+	cp arrg2fa $(BIN_DIR)
+
+alrg2fa: alrg2fa.o AbstractRGtoFAConverter.o LRGtoFAConverter.o AutomatonUtils.o GrammarUtils.o ConversionException.o
+	$(LD) $(LDFLAGS) $^ -o $@
+
+arrg2fa: arrg2fa.o AbstractRGtoFAConverter.o RRGtoFAConverter.o AutomatonUtils.o GrammarUtils.o ConversionException.o
+	$(LD) $(LDFLAGS) $^ -o $@
+
+alrg2fa.o: alrg2fa.cpp LRGtoFAConverter.h ../../utils/AutomatonUtils.h ../../utils/utils.h ../../utils/GrammarUtils.h AbstractRGtoFAConverter.h RRGtoFAConverter.h
+	$(CXX) $(CXXFLAGS) $< -o $@
+
+arrg2fa.o: arrg2fa.cpp LRGtoFAConverter.h ../../utils/AutomatonUtils.h ../../utils/utils.h ../../utils/GrammarUtils.h AbstractRGtoFAConverter.h RRGtoFAConverter.h
+	$(CXX) $(CXXFLAGS) $< -o $@
+
 
 $(EXECUTABLE).o: arg2fa.cpp LRGtoFAConverter.h ../../utils/AutomatonUtils.h ../../utils/utils.h ../../utils/GrammarUtils.h AbstractRGtoFAConverter.h RRGtoFAConverter.h
 	$(CXX) $(CXXFLAGS) $< -o $@
diff --git a/aconversions/src/conversions/rg2fa/alrg2fa.cpp b/aconversions/src/conversions/rg2fa/alrg2fa.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..bf7251fad2f161ff5b12d40808632877ae59986d
--- /dev/null
+++ b/aconversions/src/conversions/rg2fa/alrg2fa.cpp
@@ -0,0 +1,34 @@
+#include <iostream>
+#include <cstdlib>
+
+#include <GrammarFactory.h>
+#include <AlibException.h>
+
+#include <automaton/AutomatonPrinter.h>
+
+#include "LRGtoFAConverter.h"
+
+using namespace std;
+using namespace grammar;
+using namespace automaton;
+using namespace alib;
+using namespace conversions;
+
+int main(int argc, char** argv)
+{
+    try
+    {
+        string input( istreambuf_iterator<char>( cin ), ( istreambuf_iterator<char>( ) ) );
+
+        UnknownGrammar rg = GrammarFactory::fromString( input );
+
+        LeftRegularGrammar rrg = GrammarFactory::buildLeftRegularGrammar( rg );
+        LRGtoFAConverter conv( rrg );
+        conv.convert( ).toXML( cout );
+    }
+    catch( AlibException & e )
+    {
+        cout << e.what( ) << endl;
+        return 0;
+    }
+}
diff --git a/aconversions/src/conversions/rg2fa/arg2fa.cpp b/aconversions/src/conversions/rg2fa/arg2fa.cpp
deleted file mode 100644
index f5bf31a320ef72089e8c97f7ce9c47c0b99082f2..0000000000000000000000000000000000000000
--- a/aconversions/src/conversions/rg2fa/arg2fa.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//============================================================================
-// Name        : afsm2rg.cpp
-// Author      : Tomas Pecka
-// Version     :
-// Copyright   :
-// Description :
-//============================================================================
-
-#include <iostream>
-#include <cstdlib>
-
-#include <GrammarFactory.h>
-#include <AlibException.h>
-
-#include <automaton/AutomatonPrinter.h>
-
-#include "LRGtoFAConverter.h"
-#include "RRGtoFAConverter.h"
-
-using namespace std;
-using namespace grammar;
-using namespace automaton;
-using namespace alib;
-using namespace conversions;
-
-int main(int argc, char** argv)
-{
-    try
-    {
-        string input( istreambuf_iterator<char>( cin ), ( istreambuf_iterator<char>( ) ) );
-
-        UnknownGrammar rg = GrammarFactory::fromString( input );
-        //if( isLeftRegularGrammar( rg ) )
-        //    LRGtoFSMConverter conv( GrammarFactory::buildLeftRegularGrammar( rg ) )
-        //else if( isRightRegularGrammar( rg ) )
-            RightRegularGrammar rrg = GrammarFactory::buildRightRegularGrammar( rg );
-            RRGtoFAConverter conv( rrg );
-        //else
-        //{
-        //    cout << "Unknow regular grammar type. Neither left nor right. WTF?" << endl;
-        //    return EXIT_FAILURE;
-        //}
-
-        FSM fsm = conv.convert( );
-        fsm.toXML( cout );
-    }
-    catch( AlibException & e )
-    {
-        cout << e.what( ) << endl;
-        return 0;
-    }
-}
diff --git a/aconversions/src/conversions/rg2fa/arrg2fa.cpp b/aconversions/src/conversions/rg2fa/arrg2fa.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..6aea8d07b51b7244368f62585da9682721380f7f
--- /dev/null
+++ b/aconversions/src/conversions/rg2fa/arrg2fa.cpp
@@ -0,0 +1,34 @@
+#include <iostream>
+#include <cstdlib>
+
+#include <GrammarFactory.h>
+#include <AlibException.h>
+
+#include <automaton/AutomatonPrinter.h>
+
+#include "RRGtoFAConverter.h"
+
+using namespace std;
+using namespace grammar;
+using namespace automaton;
+using namespace alib;
+using namespace conversions;
+
+int main(int argc, char** argv)
+{
+    try
+    {
+        string input( istreambuf_iterator<char>( cin ), ( istreambuf_iterator<char>( ) ) );
+
+        UnknownGrammar rg = GrammarFactory::fromString( input );
+
+        RightRegularGrammar rrg = GrammarFactory::buildRightRegularGrammar( rg );
+        RRGtoFAConverter conv( rrg );
+        conv.convert( ).toXML( cout );
+    }
+    catch( AlibException & e )
+    {
+        cout << e.what( ) << endl;
+        return 0;
+    }
+}