diff --git a/libwccl/ops/tagactions/delete.h b/libwccl/ops/tagactions/delete.h
index 53c8e857ab86348e0b63c1ab8a8dd694a608c575..3403138479aa88cd2692216d31f405ff850d24e4 100644
--- a/libwccl/ops/tagactions/delete.h
+++ b/libwccl/ops/tagactions/delete.h
@@ -39,15 +39,6 @@ public:
 	 */
 	std::string to_string(const Corpus2::Tagset& tagset) const;
 
-protected:
-	/**
-	 * Writes string representation of the Action to
-	 * an output stream.
-	 * @returns Stream written to.
-	 * @note May be incomplete and/or containt internal info.
-	 */
-	std::ostream& write_to(std::ostream& ostream) const;
-
 	/**
 	 * Executes the Action on given context: it deletes
 	 * all lexemes of the token at given position that meet
@@ -59,6 +50,15 @@ protected:
 	 */
 	Bool execute(const ActionExecContext &context) const;
 
+protected:
+	/**
+	 * Writes string representation of the Action to
+	 * an output stream.
+	 * @returns Stream written to.
+	 * @note May be incomplete and/or containt internal info.
+	 */
+	std::ostream& write_to(std::ostream& ostream) const;
+
 private:
 	const PosFunctionPtr pos_;
 	const BoolFunctionPtr condition_;
diff --git a/libwccl/ops/tagactions/relabel.h b/libwccl/ops/tagactions/relabel.h
index 18d78f6b728229d118fe9ae43539bddf99e45c10..418c28badf3760fad997e89a9c94222199380d70 100644
--- a/libwccl/ops/tagactions/relabel.h
+++ b/libwccl/ops/tagactions/relabel.h
@@ -43,15 +43,6 @@ public:
 	 */
 	std::string to_string(const Corpus2::Tagset& tagset) const;
 
-protected:
-	/**
-	 * Writes string representation of the Action to
-	 * an output stream.
-	 * @returns Stream written to.
-	 * @note May be incomplete and/or containt internal info.
-	 */
-	std::ostream& write_to(std::ostream& ostream) const;
-
 	/**
 	 * Executes the Action on given context: for all lexemes
 	 * that meet given condition, change their part of speech
@@ -61,6 +52,15 @@ protected:
 	 */
 	Bool execute(const ActionExecContext &context) const;
 
+protected:
+	/**
+	 * Writes string representation of the Action to
+	 * an output stream.
+	 * @returns Stream written to.
+	 * @note May be incomplete and/or containt internal info.
+	 */
+	std::ostream& write_to(std::ostream& ostream) const;
+
 private:
 	const PosFunctionPtr pos_;
 	const BoolFunctionPtr condition_;
diff --git a/libwccl/ops/tagactions/select.h b/libwccl/ops/tagactions/select.h
index b3fd95a10af58f20b42ef4f48aa377df76eabd66..bd46714f6985aa50cea04d1c8e70f002492beaa4 100644
--- a/libwccl/ops/tagactions/select.h
+++ b/libwccl/ops/tagactions/select.h
@@ -39,15 +39,6 @@ public:
 	 */
 	std::string to_string(const Corpus2::Tagset& tagset) const;
 
-protected:
-	/**
-	 * Writes string representation of the Action to
-	 * an output stream.
-	 * @returns Stream written to.
-	 * @note May be incomplete and/or containt internal info.
-	 */
-	std::ostream& write_to(std::ostream& ostream) const;
-
 	/**
 	 * Executes the Action on given context: it deletes
 	 * all lexemes of the token at given position that do not meet
@@ -59,6 +50,15 @@ protected:
 	 */
 	Bool execute(const ActionExecContext &context) const;
 
+protected:
+	/**
+	 * Writes string representation of the Action to
+	 * an output stream.
+	 * @returns Stream written to.
+	 * @note May be incomplete and/or containt internal info.
+	 */
+	std::ostream& write_to(std::ostream& ostream) const;
+
 private:
 	const PosFunctionPtr pos_;
 	const BoolFunctionPtr condition_;
diff --git a/libwccl/ops/tagactions/unify.h b/libwccl/ops/tagactions/unify.h
index e0e1527f7f42dd1118e657734d32bf2fe6378816..33fe56aabc030e0123ebad317364d35f631588b9 100644
--- a/libwccl/ops/tagactions/unify.h
+++ b/libwccl/ops/tagactions/unify.h
@@ -43,15 +43,6 @@ public:
 	 */
 	std::string to_string(const Corpus2::Tagset& tagset) const;
 
-protected:
-	/**
-	 * Writes string representation of the Action to
-	 * an output stream.
-	 * @returns Stream written to.
-	 * @note May be incomplete and/or containt internal info.
-	 */
-	std::ostream& write_to(std::ostream& ostream) const;
-
 	/**
 	 * Executes the Action on given context: remove lexemes
 	 * from tokens at given range that do not meet an agreement.
@@ -61,6 +52,15 @@ protected:
 	 */
 	Bool execute(const ActionExecContext &context) const;
 
+protected:
+	/**
+	 * Writes string representation of the Action to
+	 * an output stream.
+	 * @returns Stream written to.
+	 * @note May be incomplete and/or containt internal info.
+	 */
+	std::ostream& write_to(std::ostream& ostream) const;
+
 private:
 	const PosFunctionPtr pos_begin_;
 	const PosFunctionPtr pos_end_;