diff --git a/src/subscriber.c b/src/subscriber.c
index 02f0256..26f7e69 100644
--- a/src/subscriber.c
+++ b/src/subscriber.c
@@ -54,9 +54,14 @@ int main (int argc, char *argv [])
         interval=atoi(token);
 
       if(line==4){
-        printf("Data received with key=%s\n",key);
+        printf("Data received: key=%s client=%s interval=%ld\n",key, client, interval);
         char path[STATIC_LEN]="";
-        sprintf(path,"%s/%s_%s_%ld",cdatadir,key,client,interval);
+        //sprintf(path,"%s/%s_%s_%ld",cdatadir,key,client,interval);
+        sprintf(path,"%s/%s/%s/",cdatadir,key,client);
+        if(!DIR_EXISTS(path)){
+          mkdirp(path);
+        }
+        sprintf(path,"%s/%s/%s/%ld",cdatadir,key,client,interval);
         fptr=fopen(path,"a");
       }