diff --git a/wccl-apps/wccl-run.cpp b/wccl-apps/wccl-run.cpp
index daec529a320c57bac92a3ce0ee824e91878df90b..4b23e30c5888665b3e0be7da5f2ce7d35724085e 100644
--- a/wccl-apps/wccl-run.cpp
+++ b/wccl-apps/wccl-run.cpp
@@ -80,18 +80,22 @@ private:
 
 bool Runner::load_more_operators(const std::string& filename)
 {
-	boost::shared_ptr<Wccl::FunctionalOperator> retOp;
+	boost::shared_ptr<Wccl::WcclFile> retOp;
 	try {
 		std::ifstream is(filename.c_str());
 		if (!is.good()) {
 			throw Wccl::FileNotFound(filename, "", __FUNCTION__);
 		}
 
-		retOp = parser_.parseAnyOperator(is);
+		retOp = parser_.parseWcclFile(is);
 		if (retOp) {
 			boost::filesystem::path p(filename);
-			op_names_.push_back(p.stem());
-			ops_.push_back(retOp);
+			std::string prefix = p.stem() + ":";
+			Wccl::UntypedOpSequence::name_op_v_t pairs = retOp->gen_all_op_pairs();
+			foreach (const Wccl::UntypedOpSequence::name_op_pair_t v, pairs) {
+				op_names_.push_back(prefix + v.first);
+				ops_.push_back(v.second);
+			}
 			return true;
 		} else {
 			std::cerr << "Problem while parsing -- "