diff --git a/timeseriesviewer/__init__.py b/timeseriesviewer/__init__.py
index 27a50242dcb910d78a84daef3e3451a09f514500..c5607b8f9ab730c24ec463a07770058cb4432fd8 100644
--- a/timeseriesviewer/__init__.py
+++ b/timeseriesviewer/__init__.py
@@ -27,8 +27,9 @@ VERSION = '0.5'
 LICENSE = 'GNU GPL-3'
 TITLE = 'EO Time Series Viewer'
 DESCRIPTION = 'A QGIS Plugin to visualize multi-sensor remote-sensing time-series data.'
-WEBSITE = 'https://bitbucket.org/jakimowb/eo-time-series-viewer'
-REPOSITORY = 'https://bitbucket.org/jakimowb/eo-time-series-viewer'
+URL_WEBSITE = 'https://bitbucket.org/jakimowb/eo-time-series-viewer'
+URL_DOCUMENTATION = 'http://eo-time-series-viewer.readthedocs.io/en/latest/'
+URL_REPOSITORY = 'https://bitbucket.org/jakimowb/eo-time-series-viewer'
 ABOUT = """
 The EO Time Series Viewer is developed at Humboldt-Universität zu Berlin. Born in the SenseCarbon project, it was funded by the German Aerospace Centre (DLR) and granted by the Federal Ministry of Education and Research (BMBF, grant no. 50EE1254). Since 2017 it is developed under contract by the German Research Centre for Geosciences (GFZ) as part of the EnMAP Core Science Team activities (www.enmap.org), funded by DLR and granted by the Federal Ministry of Economic Affairs and Energy (BMWi, grant no. 50EE1529).
 """
diff --git a/timeseriesviewer/main.py b/timeseriesviewer/main.py
index 76194c0c6665e98d7c242009ce46bf93815baccd..eae3e8700c80dbff8c6e2dffd66f5ad1531c6458 100644
--- a/timeseriesviewer/main.py
+++ b/timeseriesviewer/main.py
@@ -522,7 +522,9 @@ class TimeSeriesViewer(QgisInterface, QObject):
         from timeseriesviewer.ui.widgets import AboutDialogUI, PropertyDialogUI
         D.actionAbout.triggered.connect(lambda: AboutDialogUI(self.ui).exec_())
         D.actionSettings.triggered.connect(lambda : PropertyDialogUI(self.ui).exec_())
-
+        import webbrowser
+        from timeseriesviewer import URL_DOCUMENTATION
+        D.actionShowOnlineHelp.triggered.connect(lambda : webbrowser.open(URL_DOCUMENTATION))
 
         D.dockSpectralLibrary.SLW.sigLoadFromMapRequest.connect(D.actionIdentifySpectralProfile.trigger)
 
diff --git a/timeseriesviewer/profilevisualization.py b/timeseriesviewer/profilevisualization.py
index 4003b09bc5edfd47c91cdb6f4c4ab26421e8383f..25cfc634fe5bef18b6c25a4c21d8fce577a33b2e 100644
--- a/timeseriesviewer/profilevisualization.py
+++ b/timeseriesviewer/profilevisualization.py
@@ -35,9 +35,9 @@ from timeseriesviewer.ui.docks import TsvDockWidgetBase, loadUI
 from timeseriesviewer.plotstyling import PlotStyle, PlotStyleButton
 from timeseriesviewer.pixelloader import PixelLoader, PixelLoaderTask
 from timeseriesviewer.sensorvisualization import SensorListModel
-from timeseriesviewer.temporalprofiles2d import *
-from timeseriesviewer.temporalprofiles3d import *
+from timeseriesviewer.temporalprofiles2d import LABEL_EXPRESSION_2D
 from timeseriesviewer.temporalprofiles3d import LABEL_EXPRESSION_3D
+
 import pyqtgraph as pg
 from pyqtgraph import functions as fn
 from pyqtgraph import AxisItem
@@ -1196,9 +1196,7 @@ class ProfileViewDockUI(QgsDockWidget, loadUI('profileviewdock.ui')):
         self.plotWidget3D = None
         self.plotWidget3DMPL = None
 
-        mode = 'No3D'
-        if OPENGL_AVAILABLE:
-            self.init3DWidgets('gl')
+        self.init3DWidgets('gl')
 
 
         #pi = self.plotWidget2D.plotItem
@@ -1227,10 +1225,10 @@ class ProfileViewDockUI(QgsDockWidget, loadUI('profileviewdock.ui')):
         self.btnSaveTemporalProfiles.setMenu(self.menuTPSaveOptions)
 
     def init3DWidgets(self, mode):
-        assert mode in ['gl','mpl']
+        assert mode in ['gl']
         l = self.frame3DPlot.layout()
 
-        if True and OPENGL_AVAILABLE and mode == 'gl':
+        if OPENGL_AVAILABLE and mode == 'gl':
 
             from timeseriesviewer.temporalprofiles3dGL import ViewWidget3D
             self.plotWidget3D = ViewWidget3D(parent=self.frame3DPlot)
@@ -1243,7 +1241,8 @@ class ProfileViewDockUI(QgsDockWidget, loadUI('profileviewdock.ui')):
             l.removeWidget(self.labelDummy3D)
             self.plotWidget3D.setBaseSize(size)
             self.splitter3D.setSizes([100, 100])
-
+        else:
+            self.frameSettings3D.setEnabled(False)
 
     def onStackPageChanged(self, i):
         w = self.stackedWidget.currentWidget()
diff --git a/timeseriesviewer/ui/profileviewdock.ui b/timeseriesviewer/ui/profileviewdock.ui
index 2f5cdd24d42ef5e81d9d38c0162359f44298085e..673ce3514105aee3585493b0dc9217712e985a50 100644
--- a/timeseriesviewer/ui/profileviewdock.ui
+++ b/timeseriesviewer/ui/profileviewdock.ui
@@ -146,7 +146,7 @@
           </sizepolicy>
          </property>
          <property name="currentIndex">
-          <number>2</number>
+          <number>1</number>
          </property>
          <widget class="QWidget" name="page2D">
           <layout class="QVBoxLayout" name="verticalLayout_3">
@@ -632,9 +632,10 @@
 background-color: rgb(0, 0, 0);</string>
                  </property>
                  <property name="text">
-                  <string>Unable to initialize 3D plot window.
-Please ensure that PyOpenGL is installed 
-(http://pyopengl.sourceforge.net)</string>
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Unable to initialize 3D plot window. &lt;br/&gt;Please ensure that PyOpenGL (http://pyopengl.sourceforge.net) is installed. &lt;br/&gt;&lt;/p&gt;&lt;p&gt;You can install PyOpenGL calling:&lt;br/&gt;&lt;span style=&quot; font-family:'Courier';&quot;&gt;python -m pip install PyOpenGL&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                 </property>
+                 <property name="alignment">
+                  <set>Qt::AlignCenter</set>
                  </property>
                  <property name="openExternalLinks">
                   <bool>true</bool>
diff --git a/timeseriesviewer/ui/timeseriesviewer.ui b/timeseriesviewer/ui/timeseriesviewer.ui
index fe093cc07d1413a5e8b5e6cc2e0191c8b6a05f0b..847f7146bc5061b09686a3a79897b387600d331e 100644
--- a/timeseriesviewer/ui/timeseriesviewer.ui
+++ b/timeseriesviewer/ui/timeseriesviewer.ui
@@ -178,6 +178,7 @@
     </property>
     <addaction name="actionAbout"/>
     <addaction name="actionSettings"/>
+    <addaction name="actionShowOnlineHelp"/>
    </widget>
    <widget class="QMenu" name="menuView">
     <property name="title">
@@ -417,7 +418,7 @@
   <action name="actionAbout">
    <property name="icon">
     <iconset resource="resources.qrc">
-     <normaloff>:/timeseriesviewer/icons/metadata.svg</normaloff>:/timeseriesviewer/icons/metadata.svg</iconset>
+     <normaloff>:/timeseriesviewer/icons/IconTimeSeries.svg</normaloff>:/timeseriesviewer/icons/IconTimeSeries.svg</iconset>
    </property>
    <property name="text">
     <string>About</string>
@@ -685,6 +686,18 @@
     <string>Loads a vector data file</string>
    </property>
   </action>
+  <action name="actionShowOnlineHelp">
+   <property name="icon">
+    <iconset resource="resources.qrc">
+     <normaloff>:/timeseriesviewer/icons/metadata.svg</normaloff>:/timeseriesviewer/icons/metadata.svg</iconset>
+   </property>
+   <property name="text">
+    <string>Help (online)</string>
+   </property>
+   <property name="toolTip">
+    <string>Opens the online documentation</string>
+   </property>
+  </action>
  </widget>
  <customwidgets>
   <customwidget>