diff --git a/alib2cli/src/builtin/Move.cpp b/alib2cli/src/builtin/Move.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..5177982e02fef33657a297ca4aa2ac58dcc16d86
--- /dev/null
+++ b/alib2cli/src/builtin/Move.cpp
@@ -0,0 +1,20 @@
+/*
+ * Move.cpp
+ *
+ *  Created on: 18. 12. 2019
+ *	  Author: Jan Travnicek
+ */
+
+#include "Move.h"
+
+#include <registration/AlgoRegistration.hpp>
+
+namespace {
+
+auto move = ext::Register < void > ( [ ] ( ) {
+		abstraction::AlgorithmRegistry::registerRaw < cli::builtin::Move > ( cli::builtin::Move::move, ext::pair < std::string, abstraction::ParamQualifiers::ParamQualifierSet > { "auto", abstraction::ParamQualifiers::ParamQualifierSet::RREF }, ext::vector < ext::tuple < std::string, abstraction::ParamQualifiers::ParamQualifierSet, std::string > > { { "auto", abstraction::ParamQualifiers::ParamQualifierSet::LREF, "arg0" } } );
+	}, [ ] ( ) {
+		abstraction::AlgorithmRegistry::unregisterRaw < cli::builtin::Move > ( ext::vector < ext::tuple < std::string, abstraction::ParamQualifiers::ParamQualifierSet > > { { "auto", abstraction::ParamQualifiers::ParamQualifierSet::LREF } } );
+	} );
+
+} /* namespace */
diff --git a/alib2cli/src/builtin/Move.h b/alib2cli/src/builtin/Move.h
new file mode 100644
index 0000000000000000000000000000000000000000..587a5fb6fb1303f7aeb294c6d411cfb7038a638f
--- /dev/null
+++ b/alib2cli/src/builtin/Move.h
@@ -0,0 +1,36 @@
+/*
+ * Move.h
+ *
+ *  Created on: 18. 12. 2019
+ *	  Author: Jan Travnicek
+ */
+
+#ifndef _MOVE_H_
+#define _MOVE_H_
+
+#include <abstraction/Value.hpp>
+
+namespace cli {
+
+namespace builtin {
+
+/**
+ * Builtin move on abstraction values.
+ *
+ */
+class Move {
+public:
+	static std::shared_ptr < abstraction::Value > move ( std::vector < std::shared_ptr < abstraction::Value > > params ) {
+		abstraction::ParamQualifiers::ParamQualifierSet paramQualifiers = abstraction::ParamQualifiers::ParamQualifierSet::RREF;
+		if ( params [ 0 ]->getTypeQualifiers ( ) && abstraction::ParamQualifiers::ParamQualifierSet::CONST )
+			paramQualifiers = paramQualifiers | abstraction::ParamQualifiers::ParamQualifierSet::CONST;
+
+		return params [ 0 ]->clone ( paramQualifiers, true, true );
+	}
+};
+
+} /* namespace builtin */
+
+} /* namespace cli */
+
+#endif /* _MOVE_H_ */