    :children [[:p (str "connected to server: " (if connected? "Y" "N"))]
               [:p (str "user: " (or logged-user "N/A"))]]])
 
+(def tabs-definition
+  [
+   {:id :home-panel :label "Home"}
+   {:id :about-panel :label "About"}
+   {:id :game-list :label "Game List"}
+   {:id :game-panel :label "Game"}])
+
+(defn tabs []
+  (let [selected-panel (re-frame/subscribe [:active-panel])]
+    [re-com/horizontal-tabs
+     :model selected-panel
+     :tabs tabs-definition
+     :on-change #(re-frame/dispatch [:set-active-panel %])]))
+
+(defn header []
+  (let [server-state (re-frame/subscribe [:server-state])]
+    (fn [] [state-panel @server-state])))
+
 (defn main-panel []
-  (let [active-panel (re-frame/subscribe [:active-panel])
-        server-state (re-frame/subscribe [:server-state])]
+  (let [active-panel (re-frame/subscribe [:active-panel])]
     (fn []
       [re-com/v-box
        :height "100%"
-       :children [[state-panel @server-state]
+       :children [[header]
+                  [tabs]
                   [:p {:on-click #(re-frame/dispatch [:send-event-to-server [:util/echo "echo"]])} "echo"]
                   [:p {:on-click #(re-frame/dispatch [:log-into-server "rafael"])} "login"]
                   [:p {:on-click #(re-frame/dispatch [:logout-from-server])} "logout"]
-                  [:p {:on-click #(re-frame/dispatch [:create-game "New Game"])} "Create a new game"]
 
                   (panels @active-panel)]])))

(defn game-list-panel []
  [re-com/v-box
   :gap "1em"
   :children [[game-list-title] [game-list] [link-to-home-page]]])

;; --------------------
(defn current-game-title [game-title]

(defn about-panel []
  [re-com/v-box
   :gap "1em"
   :children [[about-title]]])

;; --------------------
(defn game-list-title []
