diff --git a/data-access/engine/src/vlkb-obscore/src/database/ObsCoreKeys.hpp b/data-access/engine/src/vlkb-obscore/src/database/ObsCoreKeys.hpp
index 874291ca4de51eb2a02a2f7535f2a6a033bec2f1..ffb33b81e2ff7adf68548bf557b76711f84128bd 100644
--- a/data-access/engine/src/vlkb-obscore/src/database/ObsCoreKeys.hpp
+++ b/data-access/engine/src/vlkb-obscore/src/database/ObsCoreKeys.hpp
@@ -24,9 +24,12 @@ namespace ObsCoreKeys
       };
    const std::set<std::string> doubleKeys
       = {
-         "CDELT1",            
+         "CDELT1",
          "CDELT2",
-         "CDELT3"
+         "CDELT3",
+         "WAVELEN",
+         "WAVELENG",
+         "WAVELNTH",
       };
 
    inline std::set<std::string> add_str_keys(const std::set<std::string> strSet1, std::set<std::string> strSet2)
diff --git a/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_INSERT.cpp b/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_INSERT.cpp
index e929312f09092e834d872d6999de6d0f4e32b08c..97a319fbd693ed2ca8fd9bc0bcd89d511e8bfa6e 100644
--- a/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_INSERT.cpp
+++ b/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_INSERT.cpp
@@ -147,6 +147,32 @@ string asSqlString(fitsfiles::key_values_by_type key_values, string key)
    }
 }
 
+string get_wavelen(fitsfiles::key_values_by_type key_values)
+{
+   const double UNIT_CONVERT = 0.001; // FIXME header-card unit [mm] but ObsCore em_ is [m]
+   if(key_values.doubleValues.find("WAVELEN") == key_values.doubleValues.end() )
+   {
+      if(key_values.doubleValues.find("WAVELENG") == key_values.doubleValues.end() )
+      {
+         if(key_values.doubleValues.find("WAVELNTH") == key_values.doubleValues.end() )
+         {
+            return "NULL";
+         }
+         else
+         {
+            return to_string(UNIT_CONVERT * key_values.doubleValues["WAVELNTH"]);
+         }
+      }
+      else
+      {
+         return to_string(UNIT_CONVERT * key_values.doubleValues["WAVELENG"]);
+      }
+   }
+   else
+   {
+      return to_string(UNIT_CONVERT * key_values.doubleValues["WAVELEN"]);
+   }
+}
 
 
 
@@ -195,13 +221,13 @@ void SqlSchema_INSERT::appendRow(/*const int hid, const int sid,*/
    ////////////////////////////////////////////////////////////////////////
 
    // set table values
-/*
-   headersRow[headersColId::header_id] = to_string(hid);
-   headersRow[headersColId::filename] = to_sqlstring(filename);
-   headersRow[headersColId::hdunum]   = to_string(hdu.m_hdunum);
-   headersRow[headersColId::pubdid]   = to_sqlstring(pubdid);
-   headersRow[headersColId::header]   = "$$" + hdu.m_header + "$$";
-   headersRow[headersColId::survey_id] = to_string(sid);
+   /*
+      headersRow[headersColId::header_id] = to_string(hid);
+      headersRow[headersColId::filename] = to_sqlstring(filename);
+      headersRow[headersColId::hdunum]   = to_string(hdu.m_hdunum);
+      headersRow[headersColId::pubdid]   = to_sqlstring(pubdid);
+      headersRow[headersColId::header]   = "$$" + hdu.m_header + "$$";
+      headersRow[headersColId::survey_id] = to_string(sid);
 
    // cubebounds - GALACTIC
 
@@ -214,15 +240,15 @@ void SqlSchema_INSERT::appendRow(/*const int hid, const int sid,*/
    boundsgalRow[bunit] = to_sqlstring(galBounds[1].unit);//y_unit);
    if(galBounds.size() >2)
    {
-      boundsgalRow[vfrom] = to_string(galBounds[2].low);//vel_from);
-      boundsgalRow[vto]   = to_string(galBounds[2].up);//vel_to);
-      boundsgalRow[vunit] = to_sqlstring(galBounds[2].unit);//vel_unit);
+   boundsgalRow[vfrom] = to_string(galBounds[2].low);//vel_from);
+   boundsgalRow[vto]   = to_string(galBounds[2].up);//vel_to);
+   boundsgalRow[vunit] = to_sqlstring(galBounds[2].unit);//vel_unit);
    }
    else
    {
-      boundsgalRow[vfrom] = "NULL";
-      boundsgalRow[vto]   = "NULL";
-      boundsgalRow[vunit] = "NULL";
+   boundsgalRow[vfrom] = "NULL";
+   boundsgalRow[vto]   = "NULL";
+   boundsgalRow[vunit] = "NULL";
    }
 
    // cubebounds - ICRS
@@ -259,7 +285,7 @@ void SqlSchema_INSERT::appendRow(/*const int hid, const int sid,*/
    verticesicrsRow[p3dec] = to_string(icrsVerts[2].lat);
    verticesicrsRow[p4ra]  = to_string(icrsVerts[3].lon);
    verticesicrsRow[p4dec] = to_string(icrsVerts[3].lat);
-*/
+   */
 
    // obscore - values from Surveys table
 
@@ -323,18 +349,24 @@ void SqlSchema_INSERT::appendRow(/*const int hid, const int sid,*/
 
    if(icrsBounds.size() >= 3) // 3D cubes
    {
-      obscoreRow[em_min]        = to_string(galBounds[2].low);
-      obscoreRow[em_max]        = to_string(galBounds[2].up);
+      //obscoreRow[em_min]        = to_string(galBounds[2].low);
+      //obscoreRow[em_max]        = to_string(galBounds[2].up);
+      obscoreRow[em_min]        = to_string(icrsBounds[2].low); // FIXME must be Wave-length in [m]
+      obscoreRow[em_max]        = to_string(icrsBounds[2].up);  // FIXME must be Wave-length in [m]
+
       obscoreRow[em_res_power]  = asSqlString(hdu.key_values, "CDELT3");
       obscoreRow[em_xel]        = asSqlString(hdu.key_values, "NAXIS3");
    }
-#if 0
-   else if(icrsBounds.naxis == 2) // 2D images
+   else if(icrsBounds.size() == 2) // 2D images
    {
-      if(!strcmp(survey.survSpecies.c_str(), "Continuum"))
-         dem_min = dem_max = 0.0; // FIXME transtod(psurv->transition);
+      //if(!strcmp(survey.survSpecies.c_str(), "Continuum"))
+      //   dem_min = dem_max = 0.0; // FIXME transtod(psurv->transition);
+
+      obscoreRow[em_min] = get_wavelen(hdu.key_values);
+      obscoreRow[em_max] = obscoreRow[em_min];
+      obscoreRow[em_res_power] = "NULL";
+      obscoreRow[em_xel]       = "NULL";
    }
-#endif
    else
    {
       obscoreRow[em_min]       = "NULL";
@@ -385,13 +417,13 @@ void SqlSchema_INSERT::appendRow(/*const int hid, const int sid,*/
 vector<string> SqlSchema_INSERT::getINSERT(void)
 {
    vector<string> vCmds{
-  /*    {"INSERT INTO headers " + m_columns[headers]        + " VALUES "             + skl(m_values[headers])},
-         {"INSERT INTO cubeboundsgalactic " + m_columns[boundsgal]      + " VALUES "  + skl(m_values[boundsgal])},
-         {"INSERT INTO cubeboundsicrs " + m_columns[boundsicrs]     + " VALUES "      + skl(m_values[boundsicrs])},
-         {"INSERT INTO verticesgalactic " + m_columns[verticesgal]    + " VALUES "    + skl(m_values[verticesgal])},
-         {"INSERT INTO verticesicrs " + m_columns[verticesicrs]   + " VALUES "        + skl(m_values[verticesicrs])},
-  */	 
-         {"INSERT INTO obscore " + m_columns[obscore]        + " VALUES "             + skl(m_values[obscore])},
+      /*    {"INSERT INTO headers " + m_columns[headers]        + " VALUES "             + skl(m_values[headers])},
+            {"INSERT INTO cubeboundsgalactic " + m_columns[boundsgal]      + " VALUES "  + skl(m_values[boundsgal])},
+            {"INSERT INTO cubeboundsicrs " + m_columns[boundsicrs]     + " VALUES "      + skl(m_values[boundsicrs])},
+            {"INSERT INTO verticesgalactic " + m_columns[verticesgal]    + " VALUES "    + skl(m_values[verticesgal])},
+            {"INSERT INTO verticesicrs " + m_columns[verticesicrs]   + " VALUES "        + skl(m_values[verticesicrs])},
+            */	 
+      {"INSERT INTO obscore " + m_columns[obscore]        + " VALUES "             + skl(m_values[obscore])},
    };
    reset();
    return vCmds;