diff --git a/data-access/servlet/src/main/java/vosi/VlkbServletFile.java b/data-access/servlet/src/main/java/vosi/VlkbServletFile.java
index eb8899f78052a00b45ef306b6c05d81918552e1d..87728f88b949a271499c3aea59db71e8e53b2268 100644
--- a/data-access/servlet/src/main/java/vosi/VlkbServletFile.java
+++ b/data-access/servlet/src/main/java/vosi/VlkbServletFile.java
@@ -28,122 +28,158 @@ import static java.nio.file.StandardCopyOption.*;
 public class VlkbServletFile
     extends javax.servlet.http.HttpServlet
 {
-    // for logs and debug
-    String className = this.getClass().getSimpleName();
+   String className = this.getClass().getSimpleName();
+	private static final SearchSettings settings = Settings.getInstance();
+	private boolean available;
 
-// VOSI
-// String accessURL = null; // FIXME now read from MERGEURL later introduce own param
-// String funcName = "vlkb_cutout"; // FIXME read from config file
+	private String checkDatasets(String dirName)
+	{
+		Path dir = Paths.get(dirName);
+      String note;
+      try
+      {
+         int count = 0;
+         try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir))
+         {
+            for (Path entry: stream) count++;
+            note = dir.toString() + " has " + String.valueOf(count) + " entries";
+				this.available = true;
+         }
+         catch (DirectoryIteratorException ex)
+         {
+            // I/O error during the iteration, the cause is an IOException
+            throw ex.getCause();
+         }
+      }
+      catch(Exception ex)
+      {
+         note = "error: " + ex.toString();
+			this.available = false;
+      }
+
+		return note;
+	}
 
-	private static final String availStr = 
-		  "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
-		+ "<vosi:availability xmlns:vosi=\"http://www.ivoa.net/xml/VOSIAvailability/v1.0\">"
-		+ " <vosi:available>true</vosi:available>"
-		+ " <vosi:note> VLKB-SODA " + Version.asString + " is accepting queries </vosi:note>"
-		+ "</vosi:availability>";
+	private String availString()
+	{
+		String dirName = settings.fitsPaths.surveys();
+		String datasetsAvail = checkDatasets(dirName);
+
+		String availStr = 
+			"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+			+ "<vosi:availability xmlns:vosi=\"http://www.ivoa.net/xml/VOSIAvailability/v1.0\">"
+			+ "<vosi:available> " +  ((this.available)?"true":"false") + " </vosi:available>"
+			+ "<vosi:note> VLKB-SODA " + Version.asString + " is accepting queries </vosi:note>"
+			+ "<vosi:note> " + datasetsAvail + " </vosi:note>"
+			+ "</vosi:availability>";
 
-	private String capsStr = null;
 
+		return availStr;
+	}
+
+
+
+	private String capsStr = null;
 
 	protected void SetCapsStr(String URL, String funcName)
 	{
 		if(URL != null)
 		{
-		
-            String accessURL = stripTrailingSlash(URL);
-
-    capsStr =
-		  "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
-
-		+ "<vosi:capabilities "
-		+    "xmlns:vosi=\"http://www.ivoa.net/xml/VOSICapabilities/v1.0\" "
-		+    "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
-		+    "xmlns:vod=\"http://www.ivoa.net/xml/VODataService/v1.1\">"
-
-		+ " <capability standardID=\"ivo://ivoa.net/std/VOSI#capabilities\">"
-		+ "   <interface xsi:type=\"vod:ParamHTTP\" version=\"1.0\">"
-		+ "     <accessURL use=\"full\">"
-		+          accessURL + "/capabilities"
-		+ "     </accessURL>"
-		+ "   </interface>"
-		+ " </capability>"
-
-		+ " <capability standardID=\"ivo://ivoa.net/std/VOSI#availability\">"
-		+ "   <interface xsi:type=\"vod:ParamHTTP\" version=\"1.0\">"
-		+ "     <accessURL use=\"full\">"
-		+          accessURL + "/availability"
-		+ "     </accessURL>"
-		+ "   </interface>"
-		+ " </capability>"
-
-		+ " <capability standardID=\"ivo://ivoa.net/std/SODA#sync-1.0\">"
-		+ "   <interface xsi:type=\"vod:ParamHTTP\" role=\"std\" version=\"1.0\">"
-		+ "     <accessURL use=\"full\">"
-		+          accessURL + "/" + funcName
-		+ "     </accessURL>"
-		+ "   </interface>"
-		+ " </capability>"
-
-		+ " <capability standardID=\"ivo://ivoa.net/std/SODA#async-1.0\">"
-		+ "   <interface xsi:type=\"vod:ParamHTTP\" role=\"std\" version=\"1.0\">"
-		+ "     <accessURL use=\"full\">"
-		+          accessURL + "/" + funcName + "_uws/soda_cuts"
-		+ "     </accessURL>"
-		+ "   </interface>"
-		+ " </capability>"
-
-	+ "</vosi:capabilities>";
+
+			String accessURL = stripTrailingSlash(URL);
+
+			capsStr =
+				"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+
+				+ "<vosi:capabilities "
+				+    "xmlns:vosi=\"http://www.ivoa.net/xml/VOSICapabilities/v1.0\" "
+				+    "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
+				+    "xmlns:vod=\"http://www.ivoa.net/xml/VODataService/v1.1\">"
+
+				+ " <capability standardID=\"ivo://ivoa.net/std/VOSI#capabilities\">"
+				+ "   <interface xsi:type=\"vod:ParamHTTP\" version=\"1.0\">"
+				+ "     <accessURL use=\"full\">"
+				+          accessURL + "/capabilities"
+				+ "     </accessURL>"
+				+ "   </interface>"
+				+ " </capability>"
+
+				+ " <capability standardID=\"ivo://ivoa.net/std/VOSI#availability\">"
+				+ "   <interface xsi:type=\"vod:ParamHTTP\" version=\"1.0\">"
+				+ "     <accessURL use=\"full\">"
+				+          accessURL + "/availability"
+				+ "     </accessURL>"
+				+ "   </interface>"
+				+ " </capability>"
+
+				+ " <capability standardID=\"ivo://ivoa.net/std/SODA#sync-1.0\">"
+				+ "   <interface xsi:type=\"vod:ParamHTTP\" role=\"std\" version=\"1.0\">"
+				+ "     <accessURL use=\"full\">"
+				+          accessURL + "/" + funcName
+				+ "     </accessURL>"
+				+ "   </interface>"
+				+ " </capability>"
+
+				+ " <capability standardID=\"ivo://ivoa.net/std/SODA#async-1.0\">"
+				+ "   <interface xsi:type=\"vod:ParamHTTP\" role=\"std\" version=\"1.0\">"
+				+ "     <accessURL use=\"full\">"
+				+          accessURL + "/" + funcName + "_uws/soda_cuts"
+				+ "     </accessURL>"
+				+ "   </interface>"
+				+ " </capability>"
+
+				+ "</vosi:capabilities>";
 		}
 	}
 
 
 	String stripTrailingSlash(String path)
 	{
-       		if (path.endsWith("/"))
-           		return path.substring(0,path.length()-1);
-       		else
-           		return path;
-    	}
+		if (path.endsWith("/"))
+			return path.substring(0,path.length()-1);
+		else
+			return path;
+	}
 
 
-    protected void doGet(HttpServletRequest request,
-                         HttpServletResponse response)
-        throws ServletException, IOException {
+	protected void doGet(HttpServletRequest request,
+			HttpServletResponse response)
+		throws ServletException, IOException {
 
-            doPost(request, response);
-        }
+			doPost(request, response);
+		}
 
 
 
-    protected void doPost(HttpServletRequest request,
-                          HttpServletResponse response)
-        throws ServletException, IOException
-	{
-		StringBuffer requestURL = request.getRequestURL();
-	
-   	System.out.println(className + " vlkb req from: " + request.getRemoteAddr()
-                               + " doGet: " + requestURL.toString());
-
-		PrintWriter writer = response.getWriter();
-		response.setContentType("text/xml");
-	
-		if(-1 != requestURL.lastIndexOf("/capabilities"))
+	protected void doPost(HttpServletRequest request,
+			HttpServletResponse response)
+		throws ServletException, IOException
 		{
-            String fullURL = request.getRequestURL().toString();
-            String baseURL = fullURL.substring(0,requestURL.lastIndexOf("/"));
+			StringBuffer requestURL = request.getRequestURL();
 
-            SetCapsStr(baseURL, "soda");
-			writer.println(capsStr);	
+			System.out.println(className + " vlkb req from: " + request.getRemoteAddr()
+					+ " doGet: " + requestURL.toString());
 
+			PrintWriter writer = response.getWriter();
+			response.setContentType("text/xml");
+
+			if(-1 != requestURL.lastIndexOf("/capabilities"))
+			{
+				String fullURL = request.getRequestURL().toString();
+				String baseURL = fullURL.substring(0,requestURL.lastIndexOf("/"));
+
+				SetCapsStr(baseURL, "soda");
+				writer.println(capsStr);	
+
+			}
+			else if(-1 != requestURL.lastIndexOf("/availability"))
+			{
+				writer.println(availString());	
+			}
+			// error FIXME what to do if none of above given ? e.g. misconfigured web.xml
+
+			writer.close();
+			return;
 		}
-		else if(-1 != requestURL.lastIndexOf("/availability"))
-		{
-			writer.println(availStr);	
-		}
-		// error FIXME what to do if none of above given ? e.g. misconfigured web.xml
-		
-		writer.close();
-		return;
-        }
 }