diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 75e5917..9fb401f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,16 +9,23 @@
         android:theme="@style/AppTheme" >
         
             
         
+
+        
+            
+        
         
+            android:parentActivityName=".Welcome" >
             
@@ -28,6 +35,7 @@
             android:label="@string/app_name" >
             
                 
+
                 
             
         
diff --git a/app/src/main/java/com/kauron/dungeonmanager/PagerAdapter.java b/app/src/main/java/com/kauron/dungeonmanager/PagerAdapter.java
new file mode 100644
index 0000000..d83c8ed
--- /dev/null
+++ b/app/src/main/java/com/kauron/dungeonmanager/PagerAdapter.java
@@ -0,0 +1,40 @@
+package com.kauron.dungeonmanager;
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+
+import java.util.List;
+
+/**
+ * The PagerAdapter serves the fragments when paging.
+ * @author mwho
+ */
+public class PagerAdapter extends FragmentPagerAdapter {
+
+    private List fragments;
+    /**
+     * @param fm
+     * @param fragments
+     */
+    public PagerAdapter(FragmentManager fm, List fragments) {
+        super(fm);
+        this.fragments = fragments;
+    }
+
+    /* (non-Javadoc)
+     * @see android.support.v4.app.FragmentPagerAdapter#getItem(int)
+     */
+    @Override
+    public Fragment getItem(int position) {
+        return this.fragments.get(position);
+    }
+
+    /* (non-Javadoc)
+     * @see android.support.v4.view.PagerAdapter#getCount()
+     */
+    @Override
+    public int getCount() {
+        return this.fragments.size();
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/kauron/dungeonmanager/TabsViewPagerFragmentActivity.java b/app/src/main/java/com/kauron/dungeonmanager/TabsViewPagerFragmentActivity.java
new file mode 100644
index 0000000..a2ecca2
--- /dev/null
+++ b/app/src/main/java/com/kauron/dungeonmanager/TabsViewPagerFragmentActivity.java
@@ -0,0 +1,176 @@
+package com.kauron.dungeonmanager;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentActivity;
+import android.support.v4.view.ViewPager;
+import android.view.View;
+import android.widget.TabHost;
+import android.widget.TabHost.TabContentFactory;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Vector;
+
+/**
+ * The TabsViewPagerFragmentActivity class implements the Fragment activity that maintains a TabHost using a ViewPager.
+ * @author mwho
+ */
+public class TabsViewPagerFragmentActivity extends FragmentActivity implements TabHost.OnTabChangeListener, ViewPager.OnPageChangeListener {
+
+    private TabHost mTabHost;
+    private ViewPager mViewPager;
+    private HashMap mapTabInfo = new HashMap();
+    private PagerAdapter mPagerAdapter;
+    /**
+     *
+     * @author mwho
+     * Maintains extrinsic info of a tab's construct
+     */
+    private class TabInfo {
+        private String tag;
+        private Class> clss;
+        private Bundle args;
+        private Fragment fragment;
+        TabInfo(String tag, Class> clazz, Bundle args) {
+            this.tag = tag;
+            this.clss = clazz;
+            this.args = args;
+        }
+
+    }
+    /**
+     * A simple factory that returns dummy views to the Tabhost
+     * @author mwho
+     */
+    class TabFactory implements TabContentFactory {
+
+        private final Context mContext;
+
+        /**
+         * @param context
+         */
+        public TabFactory(Context context) {
+            mContext = context;
+        }
+
+        /** (non-Javadoc)
+         * @see android.widget.TabHost.TabContentFactory#createTabContent(java.lang.String)
+         */
+        public View createTabContent(String tag) {
+            View v = new View(mContext);
+            v.setMinimumWidth(0);
+            v.setMinimumHeight(0);
+            return v;
+        }
+
+    }
+    /** (non-Javadoc)
+     * @see android.support.v4.app.FragmentActivity#onCreate(android.os.Bundle)
+     */
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // Inflate the layout
+        setContentView(R.layout.tabs_viewpager_layout);
+        // Initialise the TabHost
+        this.initialiseTabHost(savedInstanceState);
+        if (savedInstanceState != null) {
+            mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab")); //set the tab as per the saved state
+        }
+        // Intialise ViewPager
+        this.intialiseViewPager();
+    }
+
+    /** (non-Javadoc)
+     * @see android.support.v4.app.FragmentActivity#onSaveInstanceState(android.os.Bundle)
+     */
+    protected void onSaveInstanceState(Bundle outState) {
+        outState.putString("tab", mTabHost.getCurrentTabTag()); //save the tab selected
+        super.onSaveInstanceState(outState);
+    }
+
+    /**
+     * Initialise ViewPager
+     */
+    private void intialiseViewPager() {
+
+        List fragments = new Vector<>();
+        fragments.add(Fragment.instantiate(this, ShowPlayer.class.getName()));
+        fragments.add(Fragment.instantiate(this, PowerEditor.class.getName()));
+        fragments.add(Fragment.instantiate(this, PlayerEditor.class.getName()));
+        this.mPagerAdapter  = new PagerAdapter(super.getSupportFragmentManager(), fragments);
+        //
+        this.mViewPager = (ViewPager)super.findViewById(R.id.viewpager);
+        this.mViewPager.setAdapter(this.mPagerAdapter);
+        this.mViewPager.setOnPageChangeListener(this);
+    }
+
+    /**
+     * Initialise the Tab Host
+     */
+    private void initialiseTabHost(Bundle args) {
+        mTabHost = (TabHost)findViewById(android.R.id.tabhost);
+        mTabHost.setup();
+        TabInfo tabInfo = null;
+        TabsViewPagerFragmentActivity.AddTab(this, this.mTabHost, this.mTabHost.newTabSpec("Tab1").setIndicator("Tab 1"), ( tabInfo = new TabInfo("Tab1", ShowPlayer.class, args)));
+        this.mapTabInfo.put(tabInfo.tag, tabInfo);
+        TabsViewPagerFragmentActivity.AddTab(this, this.mTabHost, this.mTabHost.newTabSpec("Tab2").setIndicator("Tab 2"), ( tabInfo = new TabInfo("Tab2", PowerEditor.class, args)));
+        this.mapTabInfo.put(tabInfo.tag, tabInfo);
+        TabsViewPagerFragmentActivity.AddTab(this, this.mTabHost, this.mTabHost.newTabSpec("Tab3").setIndicator("Tab 3"), ( tabInfo = new TabInfo("Tab3", PlayerEditor.class, args)));
+        this.mapTabInfo.put(tabInfo.tag, tabInfo);
+        // Default to first tab
+        //this.onTabChanged("Tab1");
+        //
+        mTabHost.setOnTabChangedListener(this);
+    }
+
+    /**
+     * Add Tab content to the Tabhost
+     * @param activity
+     * @param tabHost
+     * @param tabSpec
+     */
+    private static void AddTab(TabsViewPagerFragmentActivity activity, TabHost tabHost, TabHost.TabSpec tabSpec, TabInfo tabInfo) {
+        // Attach a Tab view factory to the spec
+        tabSpec.setContent(activity.new TabFactory(activity));
+        tabHost.addTab(tabSpec);
+    }
+
+    /** (non-Javadoc)
+     * @see android.widget.TabHost.OnTabChangeListener#onTabChanged(java.lang.String)
+     */
+    public void onTabChanged(String tag) {
+        //TabInfo newTab = this.mapTabInfo.get(tag);
+        int pos = this.mTabHost.getCurrentTab();
+        this.mViewPager.setCurrentItem(pos);
+    }
+
+    /* (non-Javadoc)
+     * @see android.support.v4.view.ViewPager.OnPageChangeListener#onPageScrolled(int, float, int)
+     */
+    @Override
+    public void onPageScrolled(int position, float positionOffset,
+                               int positionOffsetPixels) {
+        // TODO Auto-generated method stub
+
+    }
+
+    /* (non-Javadoc)
+     * @see android.support.v4.view.ViewPager.OnPageChangeListener#onPageSelected(int)
+     */
+    @Override
+    public void onPageSelected(int position) {
+        // TODO Auto-generated method stub
+        this.mTabHost.setCurrentTab(position);
+    }
+
+    /* (non-Javadoc)
+     * @see android.support.v4.view.ViewPager.OnPageChangeListener#onPageScrollStateChanged(int)
+     */
+    @Override
+    public void onPageScrollStateChanged(int state) {
+        // TODO Auto-generated method stub
+
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/tabs_viewpager_layout.xml b/app/src/main/res/layout/tabs_viewpager_layout.xml
new file mode 100644
index 0000000..0cdd38f
--- /dev/null
+++ b/app/src/main/res/layout/tabs_viewpager_layout.xml
@@ -0,0 +1,35 @@
+
+
+    
+        
+            
+
+            
+
+            
+        
+    
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 30ce477..5f45f8b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -191,5 +191,14 @@
     Use
     There are no powers, try creating one
     Show attack/defense
+    Display
+
+    Section 1
+    Section 2
+    Section 3
+
+    Hello world!
+
+    Settings