diff --git a/core/modules/startup.js b/core/modules/startup.js
index ac07be94a..58afd6349 100755
--- a/core/modules/startup.js
+++ b/core/modules/startup.js
@@ -102,8 +102,8 @@ exports.startup = function() {
$tw.rootWidget.addEventListener("tw-clear-password",function(event) {
$tw.crypto.setPassword(null);
});
- // Display the PageTemplate
- var templateTitle = "$:/core/ui/PageTemplate",
+ // Display the PageMacros, which includes the PageTemplate
+ var templateTitle = "$:/core/ui/PageMacros",
parser = $tw.wiki.new_parseTiddler(templateTitle);
$tw.pageWidgetNode = $tw.wiki.makeWidget(parser,{document: document, parentWidget: $tw.rootWidget});
$tw.pageContainer = document.createElement("div");
diff --git a/core/ui/PageMacros.tid b/core/ui/PageMacros.tid
new file mode 100644
index 000000000..312312f5c
--- /dev/null
+++ b/core/ui/PageMacros.tid
@@ -0,0 +1,17 @@
+title: $:/core/ui/PageMacros
+
+\define tabs(tabsList,default,state:"$:/currentTab")
+
<$list filter="$tabsList$" variable="currentTab"><$button set=<> setTo=<> default="$default$" selectedClass="tw-tab-selected"><$macrocall $name="currentTab" $type="text/plain" $output="text/plain"/> $button>
+$list>
+
+
+
+
+<$list filter="$tabsList$" variable="currentTab">
+<$reveal type="match" state=<> text=<> default="$default$">
+<$transclude tiddler=<>/>
+$reveal>
+$list>
+
+\end
+{{$:/core/ui/PageTemplate}}
diff --git a/core/wiki/moreSideBarTabSet.tid b/core/wiki/moreSideBarTabSet.tid
index 7d31013d6..c92c533f1 100644
--- a/core/wiki/moreSideBarTabSet.tid
+++ b/core/wiki/moreSideBarTabSet.tid
@@ -1,3 +1,3 @@
-title: $:/state/moreSideBarTabSet-{$:/core/ui/MoreSideBar|$:/core/ui/MoreSideBar||}{$:/core/ui/SideBar|$:/core/ui/SideBar||}
+title: $:/state/moreSideBarTabSet-{$:/core/ui/MoreSideBar|$:/core/ui/MoreSideBar||}{$:/core/ui/SideBar|$:/core/ui/SideBar||}{$:/core/ui/PageTemplate|$:/core/ui/PageTemplate||}
tagsTab
\ No newline at end of file
diff --git a/core/wiki/sideBarTabSet.tid b/core/wiki/sideBarTabSet.tid
index 44fb50824..7205fc139 100644
--- a/core/wiki/sideBarTabSet.tid
+++ b/core/wiki/sideBarTabSet.tid
@@ -1,3 +1,3 @@
-title: $:/state/sideBarTabSet-{$:/core/ui/SideBar|$:/core/ui/SideBar||}
+title: $:/state/sideBarTabSet-{$:/core/ui/SideBar|$:/core/ui/SideBar||}{$:/core/ui/PageTemplate|$:/core/ui/PageTemplate||}
openTab
\ No newline at end of file
diff --git a/editions/tw5.com/tiddlers/samples/TabsExample.tid b/editions/tw5.com/tiddlers/samples/TabsExample.tid
new file mode 100644
index 000000000..3f80420ef
--- /dev/null
+++ b/editions/tw5.com/tiddlers/samples/TabsExample.tid
@@ -0,0 +1,8 @@
+title: TabsExample
+tags: samples
+
+Here is an example of the tabs macro:
+
+<>
+
+<>