diff --git a/src/org/openstreetmap/josm/gui/GettingStarted.java b/src/org/openstreetmap/josm/gui/GettingStarted.java
index 5ca8b19..a694a64 100644
--- a/src/org/openstreetmap/josm/gui/GettingStarted.java
+++ b/src/org/openstreetmap/josm/gui/GettingStarted.java
@@ -6,6 +6,7 @@
 import java.awt.BorderLayout;
 import java.awt.EventQueue;
 import java.awt.GraphicsEnvironment;
+import java.awt.GridBagLayout;
 import java.awt.event.InputEvent;
 import java.awt.event.KeyEvent;
 import java.io.IOException;
@@ -14,23 +15,33 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import javax.swing.Action;
+import javax.swing.JButton;
 import javax.swing.JComponent;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.KeyStroke;
+import javax.swing.SwingConstants;
 import javax.swing.border.EmptyBorder;
 import javax.swing.event.HyperlinkEvent;
 import javax.swing.event.HyperlinkListener;
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.DownloadAction;
+import org.openstreetmap.josm.actions.DownloadPrimitiveAction;
+import org.openstreetmap.josm.actions.OverpassDownloadAction;
 import org.openstreetmap.josm.data.Version;
+import org.openstreetmap.josm.gui.io.RecentlyOpenedFilesMenu;
 import org.openstreetmap.josm.gui.preferences.server.ProxyPreference;
 import org.openstreetmap.josm.gui.preferences.server.ProxyPreferenceListener;
 import org.openstreetmap.josm.gui.widgets.JosmEditorPane;
 import org.openstreetmap.josm.io.CacheCustomContent;
 import org.openstreetmap.josm.io.OnlineResource;
+import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.LanguageInfo;
 import org.openstreetmap.josm.tools.OpenBrowser;
+import org.openstreetmap.josm.tools.Utils;
 import org.openstreetmap.josm.tools.WikiReader;
 
 public final class GettingStarted extends JPanel implements ProxyPreferenceListener {
@@ -129,6 +140,31 @@ public GettingStarted() {
         scroller.setViewportBorder(new EmptyBorder(10, 100, 10, 100));
         add(scroller, BorderLayout.CENTER);
 
+        final JPanel commands = new JPanel(new GridBagLayout());
+        add(commands, BorderLayout.WEST);
+
+        for (Action action: new Action[]{
+                new DownloadAction(),
+                new OverpassDownloadAction(),
+                new DownloadPrimitiveAction(),
+        }) {
+            final JButton button = new JButton(action);
+            button.setHorizontalAlignment(SwingConstants.LEFT);
+            commands.add(button, GBC.eop().fill(GBC.HORIZONTAL    ));
+        }
+
+        //todo refresh list every time the GettingStarted panel is being displayed
+        commands.add(new JLabel(tr("Open Recent")), GBC.eol());
+        for (Action recentAction : RecentlyOpenedFilesMenu.getActions()) {
+            final JButton button = new JButton(recentAction);
+            button.setToolTipText(button.getText());
+            button.setText(Utils.shortenString(button.getText(), 32));
+            button.setHorizontalAlignment(SwingConstants.LEFT);
+            commands.add(button, GBC.eol().fill(GBC.HORIZONTAL));
+        }
+
+        commands.add(new JPanel(), GBC.std().fill());
+
         getMOTD();
 
         if (!GraphicsEnvironment.isHeadless()) {
diff --git a/src/org/openstreetmap/josm/gui/io/RecentlyOpenedFilesMenu.java b/src/org/openstreetmap/josm/gui/io/RecentlyOpenedFilesMenu.java
index 9093f0e..a129b58 100644
--- a/src/org/openstreetmap/josm/gui/io/RecentlyOpenedFilesMenu.java
+++ b/src/org/openstreetmap/josm/gui/io/RecentlyOpenedFilesMenu.java
@@ -6,10 +6,13 @@
 
 import java.awt.event.ActionEvent;
 import java.io.File;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.List;
 
 import javax.swing.AbstractAction;
+import javax.swing.Action;
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
 import javax.swing.JSeparator;
@@ -25,6 +28,7 @@
  */
 public class RecentlyOpenedFilesMenu extends JMenu {
     private ClearAction clearAction;
+    private static final Collection<String> fileHistory = Main.pref.getCollection("file-open.history");
 
     public RecentlyOpenedFilesMenu() {
         super(tr("Open Recent"));
@@ -49,17 +53,16 @@ public void menuCanceled(MenuEvent e) {
         });
     }
 
-    private void rebuild() {
-        removeAll();
-        Collection<String> fileHistory = Main.pref.getCollection("file-open.history");
-
+    public static List<Action> getActions() {
+        final List<Action> actions = new ArrayList<>(fileHistory.size());
         for (final String file : fileHistory) {
-            add(new AbstractAction() {
+            actions.add(new AbstractAction() {
                 {
                     putValue(NAME, file);
                     putValue("help", ht("/Action/OpenRecent"));
                     putValue("toolbar", Boolean.FALSE);
                 }
+
                 @Override
                 public void actionPerformed(ActionEvent e) {
                     File f = new File(file);
@@ -69,6 +72,14 @@ public void actionPerformed(ActionEvent e) {
                 }
             });
         }
+        return actions;
+    }
+
+    private void rebuild() {
+        removeAll();
+        for (Action action : getActions()) {
+            add(action);
+        }
         add(new JSeparator());
         if (clearAction == null) {
             clearAction = new ClearAction();
