diff --git a/generic_data/Functions/constants.xml b/generic_data/Functions/constants.xml
index a8dca04..008116a 100755
--- a/generic_data/Functions/constants.xml
+++ b/generic_data/Functions/constants.xml
@@ -1,31 +1,31 @@
 <?xml version="1.0"?>
 <constants>
-  <constant info="astronomical unit" name="AU" units="m">1.49598e+11</constant>
-  <constant info="Boltzmann constant" name="k" units="J/K">1.38054e-23</constant>
-  <constant info="kelvin to electron-volt" name="K2eV" units="eV/K">8.622e-5</constant>
-  <constant info="electron-volt to kelvin" name="eV2K" units="K/eV">1.160e4</constant>
-  <constant info="proton mass" name="m_p" units="kg">1.67e-27</constant>
-  <constant info="electron mass" name="m_e" units="kg">9.1091e-31</constant>
-  <constant info="speed of light in vacuum" name="c" units="m/s">2.99792e+08</constant>
-  <constant info="elementary charge" name="q_e" units="C">1.6021e-19</constant>
-  <constant info='electric constant' name="epsilon_0" units="F/m">8.85416e-12</constant>
-  <constant info='magnetic constant' name="mu_0" units="H/m">1.25664e-06</constant>
-  <constant info="pi" name="pi">3.14159</constant>
-  <constant info="rad2deg" name="rad2deg" units="deg/rad">57.2958</constant>
-  <constant info="deg2rad" name="deg2rad" units="rad/deg">0.0174533</constant>
-  <constant info="gravitational constant" name="G" units="m3/kg/s2">6.674e-11</constant>
-  <constant info="acceleration of gravity at Earth" name="g" units="m/s2">9.81</constant>
-  <constant info="Planck constant" name="h" units="Js">6.626e-34</constant>
-  <constant info="Avogadro number" name="NA" units="1/mol">6.0221367e+23</constant>
-  <constant info="Mercury equatorial radius" name="Rme" units="m">2.4397e+06</constant>
-  <constant info="Venus equatorial radius" name="Rv" units="m">6.0518e+06</constant>
-  <constant info="Earth equatorial radius" name="Re" units="m">6.3712e+06</constant>  
-  <constant info="Mars equatorial radius" name="Rma" units="m">3.3962e+06</constant>
-  <constant info="Jupiter equatorial radius" name="Rj" units="m">71.492e+06</constant>
-  <constant info="Saturn equatorial radius" name="Rs" units="m">60.268e+06</constant>
-  <constant info="Uranus equatorial radius" name="Ru" units="m">25.559+06</constant>
-  <constant info="Neptune equatorial radius" name="Rn" units="m">24.764+06</constant>
-  <constant info="Moon equatorial radius" name="Rmo" units="m">1.738e+06</constant>
-  <constant info="Pluto equatorial radius" name="Rpl" units="m">1.195e+06</constant>
-  <constant info="Sun equatorial radius" name="Rsun" units="m">6.95e+08</constant>
+  <constant info="astronomical unit" name="AU" units="m" kind="space">1.49598e+11</constant>
+  <constant info="Boltzmann constant" name="k" units="J/K" kind="physics">1.38054e-23</constant>
+  <constant info="kelvin to electron-volt" name="K2eV" units="eV/K" kind="units">8.622e-5</constant>
+  <constant info="electron-volt to kelvin" name="eV2K" units="K/eV" kind="units">1.160e4</constant>
+  <constant info="proton mass" name="m_p" units="kg" kind="physics">1.67e-27</constant>
+  <constant info="electron mass" name="m_e" units="kg" kind="physics">9.1091e-31</constant>
+  <constant info="speed of light in vacuum" name="c" units="m/s" kind="physics">2.99792e+08</constant>
+  <constant info="elementary charge" name="q_e" units="C" kind="physics">1.6021e-19</constant>
+  <constant info='electric constant' name="epsilon_0" units="F/m" kind="physics">8.85416e-12</constant>
+  <constant info='magnetic constant' name="mu_0" units="H/m" kind="physics">1.25664e-06</constant>
+  <constant info="pi" name="pi" kind="physics">3.14159</constant>
+  <constant info="rad2deg" name="rad2deg" units="deg/rad" kind="units">57.2958</constant>
+  <constant info="deg2rad" name="deg2rad" units="rad/deg" kind="units">0.0174533</constant>
+  <constant info="gravitational constant" name="G" units="m3/kg/s2" kind="physics">6.674e-11</constant>
+  <constant info="acceleration of gravity at Earth" name="g" units="m/s2" kind="physics">9.81</constant>
+  <constant info="Planck constant" name="h" units="Js" kind="physics">6.626e-34</constant>
+  <constant info="Avogadro number" name="NA" units="1/mol" kind="physics">6.0221367e+23</constant>
+  <constant info="Mercury equatorial radius" name="Rme" units="m" kind="space">2.4397e+06</constant>
+  <constant info="Venus equatorial radius" name="Rv" units="m" kind="space">6.0518e+06</constant>
+  <constant info="Earth equatorial radius" name="Re" units="m" kind="space" >6.3712e+06</constant>  
+  <constant info="Mars equatorial radius" name="Rma" units="m" kind="space">3.3962e+06</constant>
+  <constant info="Jupiter equatorial radius" name="Rj" units="m" kind="space">71.492e+06</constant>
+  <constant info="Saturn equatorial radius" name="Rs" units="m" kind="space">60.268e+06</constant>
+  <constant info="Uranus equatorial radius" name="Ru" units="m" kind="space">25.559+06</constant>
+  <constant info="Neptune equatorial radius" name="Rn" units="m" kind="space">24.764+06</constant>
+  <constant info="Moon equatorial radius" name="Rmo" units="m" kind="space">1.738e+06</constant>
+  <constant info="Pluto equatorial radius" name="Rpl" units="m" kind="space">1.195e+06</constant>
+  <constant info="Sun equatorial radius" name="Rsun" units="m" kind="space">6.95e+08</constant>
 </constants>
diff --git a/generic_data/Functions/functions.xml b/generic_data/Functions/functions.xml
index f14c960..049cade 100644
--- a/generic_data/Functions/functions.xml
+++ b/generic_data/Functions/functions.xml
@@ -88,14 +88,18 @@
      <prompt/>
      <info_brief>GSE to SM transformation</info_brief>
    </function>-->
-   <function name="cross(,)" params="2" kind="math">
+   <function name="cross(,)" params="2" kind="vectors">
      <info_brief>Cross product</info_brief>
      <new_kernel>cross</new_kernel>
    </function>
-   <function name="dot(,)" params="2" kind="math">
+   <function name="dot(,)" params="2" kind="vectors">
      <info_brief>Dot product</info_brief>
      <new_kernel>dot</new_kernel>
    </function>
+	<function name="module()" kind="vectors">
+		<info_brief>Magnitude</info_brief>
+     <new_kernel>magnitude</new_kernel>
+   </function>
    <function name="abs()" kind="math">
      <info_brief>Absolute value</info_brief>
 	  <new_kernel>abs</new_kernel>
diff --git a/js/app/models/Constant.js b/js/app/models/Constant.js
index 39b95e2..7c211d2 100644
--- a/js/app/models/Constant.js
+++ b/js/app/models/Constant.js
@@ -20,6 +20,7 @@ Ext.define('amdaModel.Constant', {
   
   fields : [
 	{name: 'name', mapping: '@name', type:'string'},
+	{name: 'kind', mapping: '@kind', type: 'string', defaultValue: 'space'},
 	{name: 'info', mapping: '@info', type:'string'},
 	{name: 'units', mapping: '@units', type: 'string', defaultValue: ''},
 	{name: 'value', mapping: ' ', type: 'string'}
diff --git a/js/app/views/CalculatorUI.js b/js/app/views/CalculatorUI.js
index c8f75ed..687415a 100644
--- a/js/app/views/CalculatorUI.js
+++ b/js/app/views/CalculatorUI.js
@@ -15,6 +15,7 @@
  */
 
 var CalculatorData = ['1','2','3','4','5','6','7','8','9','0','(',')','[',']','+','-','*','/','^', '.','>','<', '&', '|'];
+// var CalculatorData = ['1','2','3','4','5','6','7','8','9','0','(',')','[',']','+','-','*','/','^', '.','>','>=', '=', '<=', '<', '&', '|'];
 
 Ext.define('amdaUI.CalculatorUI', {
 	extend: 'Ext.util.Observable',
@@ -93,12 +94,12 @@ Ext.define('amdaUI.CalculatorUI', {
 				scope   : this,
 				callback: function(records, operation, success) 
 				{
-				this.createConstantBtns();
+				this.createAllConstantBtns();
 				}
 			});
 		}
 		else
-			this.createConstantBtns();
+			this.createAllConstantBtns();
 
 		//load functions store
 		if (!amdaUI.CalculatorUI.functionStore)
@@ -148,8 +149,10 @@ Ext.define('amdaUI.CalculatorUI', {
 				defaults: { xtype: 'button', columnWidth: .11},
 				items: this.getItems('Calculator')
 			} , {
-				title: 'Constants', layout: 'column',
-				defaults: { xtype: 'button', columnWidth: .20},
+				title: 'Constants', xtype:'tabpanel', //iconCls: 'tabs',
+				enableTabScroll: true,	tabPosition: 'bottom',	
+				defaults: { frame: true, border: false, plain: true, layout: 'column', autoScroll:true},
+				activeTab: 0, 
 				id : 'calc_tab_const_id'
 			}, {
 				title: 'Functions', xtype:'tabpanel', //iconCls: 'tabs',
@@ -337,14 +340,50 @@ Ext.define('amdaUI.CalculatorUI', {
 	  return btns;
 	},
 	
-	createConstantBtns : function(){
+	createAllFunctionBtns : function()
+	{
+		this.createFunctionBtns('MathFunctions','Simple Maths');	
+		this.createFunctionBtns('VectorFunctions','Vector Functions');
+		this.createFunctionBtns('TimeFunctions','Statistics');
+		this.createFunctionBtns('FunctionsSliding','Statistics/Sliding');
+		this.createFunctionBtns('AmdaFunctions','Special');
+	},
+	
+	createAllConstantBtns : function()
+	{
+		this.createConstantBtns('Space','Planets Constants');	
+		this.createConstantBtns('Physics','Physics Constants');
+		this.createConstantBtns('Units','Units Conversion');
+	},
+	
+	createConstantBtns : function(item, tabTitle)
+	{
 		var constTab = this.win.query('#calc_tab_const_id');
-		
+		  
 		if (constTab.length < 1)
-			return;
-	  
+		  return;
+		
+		switch (item) 
+		{
+		  case 'Space' :
+			  amdaUI.CalculatorUI.constantStore.filter('kind','space');
+		    break;
+		  case 'Physics' :
+			  amdaUI.CalculatorUI.constantStore.filter('kind','physics');  
+			break;
+		  case 'Units' :
+			  amdaUI.CalculatorUI.constantStore.filter('kind','units'); 
+			  break;
+		}
+		
+		 var crtTab = constTab[0].add(
+				{
+					title : tabTitle,
+					defaults: { xtype: 'button',  columnWidth: .20}
+				});
+		 
 		amdaUI.CalculatorUI.constantStore.each( function(c){
-			constTab[0].add(
+			crtTab.add(
 			{
 				text: c.get('name'),
 				tooltip: c.get('units') == '' ? c.get('info')+'<br/>'+c.get('value') :
@@ -365,15 +404,10 @@ Ext.define('amdaUI.CalculatorUI', {
 				}
 			});
 	  },this);
-	},
-	
-	createAllFunctionBtns : function()
-	{
-		this.createFunctionBtns('MathFunctions','Simple Maths');	  	
-		this.createFunctionBtns('TimeFunctions','Statistics');
-		this.createFunctionBtns('FunctionsSliding','Statistics/Sliding');
-		this.createFunctionBtns('AmdaFunctions','Space Physics');
-	},
+		
+		//clear filter
+		amdaUI.CalculatorUI.constantStore.clearFilter();    
+	},	
 	
 	createFunctionBtns : function(item, tabTitle)
 	{
@@ -396,6 +430,9 @@ Ext.define('amdaUI.CalculatorUI', {
 		  case 'FunctionsSliding' :
 			  amdaUI.CalculatorUI.functionStore.filter('kind','sliding'); 
 		    break;
+		case 'VectorFunctions' :
+			  amdaUI.CalculatorUI.functionStore.filter('kind','vector'); 
+		    break;
 		}
 		
 		var crtTab = funcTab[0].add(
--
libgit2 0.21.2