diff --git a/ReactiveUI/Legacy/ReactiveCommand.cs b/ReactiveUI/Legacy/ReactiveCommand.cs
new file mode 100644
index 0000000000..169e108967
--- /dev/null
+++ b/ReactiveUI/Legacy/ReactiveCommand.cs
@@ -0,0 +1,341 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics.Contracts;
+using System.Linq;
+using System.Reactive;
+using System.Reactive.Concurrency;
+using System.Reactive.Threading.Tasks;
+using System.Reactive.Linq;
+using System.Reactive.Subjects;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows.Input;
+using System.Linq.Expressions;
+using ReactiveUI;
+
+using LegacyRxCmd = ReactiveUI.Legacy.ReactiveCommand;
+
+namespace ReactiveUI.Legacy
+{
+ ///
+ /// ReactiveCommand is the default Command implementation in ReactiveUI, which
+ /// conforms to the spec described in IReactiveCommand.
+ ///
+ public class ReactiveCommand : IReactiveCommand, IObservable