diff --git a/libwccl/CMakeLists.txt b/libwccl/CMakeLists.txt
index 74be5510f8fe48bccffb9e172c554229a9fa9a83..5f1f429f2aca36b293f2a2820f17846b3f3c570d 100644
--- a/libwccl/CMakeLists.txt
+++ b/libwccl/CMakeLists.txt
@@ -27,7 +27,6 @@ endif(WIN32)
 
 SET(libwccl_STAT_SRC
 	exception.cpp
-	ops/action.cpp
 	ops/actions/delete.cpp
 	ops/actions/relabel.cpp
 	ops/actions/select.cpp
@@ -60,6 +59,7 @@ SET(libwccl_STAT_SRC
 	ops/functions/tset/getsymbols.cpp
 	ops/functions/tset/getsymbolsinrange.cpp
 	ops/rulesequence.cpp
+	ops/tagaction.cpp
 	ops/tagrule.cpp
 	parser/grammar.g
 	parser/Parser.cpp
diff --git a/libwccl/ops/actions/unify.h b/libwccl/ops/actions/unify.h
index 0acd8900528ba8d779ede5cde8fd3cf10a259440..29f3849f4a0fd3500fb257ba1a49b69b24dec83e 100644
--- a/libwccl/ops/actions/unify.h
+++ b/libwccl/ops/actions/unify.h
@@ -1,7 +1,7 @@
 #ifndef LIBWCCL_OPS_ACTIONS_UNIFY_H
 #define LIBWCCL_OPS_ACTIONS_UNIFY_H
 
-#include <libwccl/ops/action.h>
+#include <libwccl/ops/tagaction.h>
 #include <libwccl/values/position.h>
 #include <libwccl/values/bool.h>
 #include <libwccl/ops/function.h>
@@ -12,7 +12,7 @@ namespace Wccl {
  * Action to unify tokens on an agreement, removing lexemes
  * that violate the agreement.
  */
-class Unify : public Action
+class Unify : public TagAction
 {
 public:
 	typedef boost::shared_ptr<Function<Position> > PosFunctionPtr;
diff --git a/libwccl/ops/action.cpp b/libwccl/ops/tagaction.cpp
similarity index 100%
rename from libwccl/ops/action.cpp
rename to libwccl/ops/tagaction.cpp
diff --git a/libwccl/ops/action.h b/libwccl/ops/tagaction.h
similarity index 100%
rename from libwccl/ops/action.h
rename to libwccl/ops/tagaction.h
diff --git a/libwccl/ops/tagrule.h b/libwccl/ops/tagrule.h
index 44813c4d7b63ccee2f5b1d2bf9c5483a52822c09..daee75052d59612360060552ef352acbbb6d84d3 100644
--- a/libwccl/ops/tagrule.h
+++ b/libwccl/ops/tagrule.h
@@ -221,7 +221,7 @@ TagRule& TagRule::operator=(const TagRule& other) {
 inline
 TagRule::TagRule()
 	: ParsedExpression((Variables())),
-	  actions_(boost::make_shared<std::vector<boost::shared_ptr<Action> > >()),
+	  actions_(boost::make_shared<std::vector<boost::shared_ptr<TagAction> > >()),
 	  condition_(detail::DefaultFunction<Bool>()),
 	  name_()