diff --git a/src/66/66-inresolve.c b/src/66/66-inresolve.c
index 8c4f74c65f56809cb82ffa50961bceccec009491..8779e5b02bc0f9393301555cc5421d03d199dbf4 100644
--- a/src/66/66-inresolve.c
+++ b/src/66/66-inresolve.c
@@ -154,7 +154,7 @@ int main(int argc, char const *const *argv)
     if (!argc) log_usage(USAGE) ;
     svname = *argv ;
 
-    found = service_resolve_svtree(&src,svname,tname) ;
+    found = service_intree(&src,svname,tname) ;
     if (found == -1) log_dieu(LOG_EXIT_SYS,"resolve tree source of sv: ",svname) ;
     else if (!found) {
         log_info("no tree exist yet") ;
diff --git a/src/66/66-inservice.c b/src/66/66-inservice.c
index 3fd224dcd5b45d9d0b5814eb8f7c7e43fcca7626..78a3335a8cd028e71e73f0e27b6fc62e5280b7f4 100644
--- a/src/66/66-inservice.c
+++ b/src/66/66-inservice.c
@@ -18,6 +18,7 @@
 #include <sys/types.h>
 #include <wchar.h>
 #include <unistd.h>
+#include <stdlib.h>
 
 #include <oblibs/sastr.h>
 #include <oblibs/log.h>
@@ -78,12 +79,12 @@ static void info_display_logname(char const *field, resolve_service_t *res) ;
 static void info_display_logdst(char const *field, resolve_service_t *res) ;
 static void info_display_logfile(char const *field, resolve_service_t *res) ;
 
-ss_resolve_graph_style *STYLE = &graph_default ;
+info_graph_style *STYLE = &graph_default ;
+
 
 
 
 
-#include <stdlib.h> //a garder
 
 #include <stdio.h>// a effacer
 
@@ -94,8 +95,7 @@ ss_resolve_graph_style *STYLE = &graph_default ;
 
 
 
-typedef int ss_info_graph_func(char const *name, char const *obj) ;
-typedef ss_info_graph_func *ss_info_graph_func_t_ref ;
+
 
 int ss_info_graph_display_service(char const *name, char const *obj)
 {
@@ -103,7 +103,7 @@ int ss_info_graph_display_service(char const *name, char const *obj)
     resolve_service_t res = RESOLVE_SERVICE_ZERO ;
     resolve_wrapper_t_ref wres = resolve_set_struct(SERVICE_STRUCT, &res) ;
 
-    int r = service_resolve_svtree(&tree, name, obj), err = 0 ;
+    int r = service_intree(&tree, name, obj), err = 0 ;
 
     if (r != 2) {
         if (r == 1)
@@ -192,7 +192,7 @@ int ss_info_graph_display_service(char const *name, char const *obj)
 
 }
 
-int ss_info_graph_display(char const *name, char const *obj, ss_info_graph_func *func, depth_t *depth, int last, int padding, ss_resolve_graph_style *style)
+int ss_info_graph_display(char const *name, char const *obj, info_graph_func *func, depth_t *depth, int last, int padding, info_graph_style *style)
 {
     log_flow() ;
 
@@ -342,7 +342,7 @@ int ss_info_walk_edge(stralloc *sa, graph_t *g, char const *name, uint8_t requir
         return count ;
 }
 
-int ss_info_walk(graph_t *g, char const *name, char const *obj, ss_info_graph_func *func, uint8_t requiredby, uint8_t reverse, depth_t *depth, int padding, ss_resolve_graph_style *style)
+int ss_info_walk(graph_t *g, char const *name, char const *obj, info_graph_func *func, uint8_t requiredby, uint8_t reverse, depth_t *depth, int padding, info_graph_style *style)
 {
     log_flow() ;
 
@@ -915,7 +915,6 @@ static void ss_graph_matrix_build_bytree(graph_t *g, char const *tree, uint8_t w
         }
     }
 
-
     if (!graph_matrix_build(g))
         log_dieu(LOG_EXIT_SYS,"build the graph") ;
 
@@ -1588,7 +1587,7 @@ int main(int argc, char const *const *argv, char const *const *envp)
     if (!set_ownersysdir(&home,owner)) log_dieusys(LOG_EXIT_SYS, "set owner directory") ;
     if (!auto_stra(&home,SS_SYSTEM,"/")) log_die_nomem("stralloc") ;
 
-    found = service_resolve_svtree(&src,svname,tname) ;
+    found = service_intree(&src,svname,tname) ;
 
     if (found == -1) log_dieu(LOG_EXIT_SYS,"resolve tree source of service: ",svname) ;
     else if (!found) {
diff --git a/src/66/66-instate.c b/src/66/66-instate.c
index 7d72d828afe22b2d5598d6e75d919e70b9bccb17..9163ddcbbffeb8dac4ddec0c36e9bcc51c8bbec1 100644
--- a/src/66/66-instate.c
+++ b/src/66/66-instate.c
@@ -132,7 +132,7 @@ int main(int argc, char const *const *argv)
     if (!argc) log_usage(USAGE) ;
     svname = *argv ;
 
-    found = service_resolve_svtree(&src,svname,tname) ;
+    found = service_intree(&src,svname,tname) ;
     if (found == -1) log_dieu(LOG_EXIT_SYS,"resolve tree source of sv: ",svname) ;
     else if (!found) {
         log_info("no tree exist yet") ;
diff --git a/src/66/66-intree.c b/src/66/66-intree.c
index 605d2e9daa4fd433e82db203ad94660cfa76f7c2..3d58cbc50279d061e55240b84ebd088168ce2c3b 100644
--- a/src/66/66-intree.c
+++ b/src/66/66-intree.c
@@ -62,7 +62,7 @@ static void info_display_current(char const *field,char const *treename) ;
 static void info_display_allow(char const *field,char const *treename) ;
 static void info_display_symlink(char const *field,char const *treename) ;
 static void info_display_contents(char const *field,char const *treename) ;
-ss_resolve_graph_style *STYLE = &graph_default ;
+info_graph_style *STYLE = &graph_default ;
 
 info_opts_map_t const opts_tree_table[] =
 {
diff --git a/src/include/66/info.h b/src/include/66/info.h
index 626b40b3bf3940a89a083742489318ae7c0725df..5f0ca44693dc51266e82e28f4a0140f695a3fb48 100644
--- a/src/include/66/info.h
+++ b/src/include/66/info.h
@@ -27,6 +27,9 @@
 #define INFO_FIELD_MAXLEN 30
 #define INFO_NKEY 100
 
+typedef int info_graph_func(char const *name, char const *obj) ;
+typedef info_graph_func *info_graph_func_t_ref ;
+
 typedef struct depth_s depth_t ;
 struct depth_s
 {
@@ -54,8 +57,8 @@ struct info_opts_map_s
 #define UTF_H   "\342\224\200"  /* U+2500, Horizontal */
 #define UTF_UR  "\342\224\224"  /* U+2514, Up and right */
 
-typedef struct ss_resolve_graph_style_s ss_resolve_graph_style ;
-struct ss_resolve_graph_style_s
+typedef struct info_graph_style_s info_graph_style ;
+struct info_graph_style_s
 {
     const char *tip;
     const char *last;
@@ -64,16 +67,17 @@ struct ss_resolve_graph_style_s
 } ;
 
 extern unsigned int MAXDEPTH ;
-extern ss_resolve_graph_style *STYLE ;
-extern ss_resolve_graph_style graph_utf8 ;
-extern ss_resolve_graph_style graph_default ;
+extern info_graph_style *STYLE ;
+extern info_graph_style graph_utf8 ;
+extern info_graph_style graph_default ;
+
 
 extern void info_field_align (char buf[][INFO_FIELD_MAXLEN],char fields[][INFO_FIELD_MAXLEN],wchar_t const field_suffix[],size_t buflen) ;
 extern int info_getcols_fd(int fd) ;
 extern size_t info_length_from_wchar(char const *str) ;
-extern void info_graph_display(resolve_service_t *res, depth_t *depth, int last,int padding, ss_resolve_graph_style *style) ;
-extern int info_graph_init (resolve_service_t *res,char const *src,unsigned int reverse, int padding, ss_resolve_graph_style *style) ;
-extern int info_walk(resolve_service_t *res,char const *src,int reverse, depth_t *depth, int padding, ss_resolve_graph_style *style) ;
+extern void info_graph_display(resolve_service_t *res, depth_t *depth, int last,int padding, info_graph_style *style) ;
+extern int info_graph_init (resolve_service_t *res,char const *src,unsigned int reverse, int padding, info_graph_style *style) ;
+extern int info_walk(resolve_service_t *res,char const *src,int reverse, depth_t *depth, int padding, info_graph_style *style) ;
 extern size_t info_display_field_name(char const *field) ;
 extern void info_display_list(char const *field, stralloc *list) ;
 extern void info_display_nline(char const *field,char const *str) ;
diff --git a/src/include/66/service.h b/src/include/66/service.h
index 769b15b005be0a103458e00f0566cc0b8a0aee7e..ffcf9ef7c8079ddbc0241dc66a22cb7902155986 100644
--- a/src/include/66/service.h
+++ b/src/include/66/service.h
@@ -147,6 +147,7 @@ extern int service_frontend_src(stralloc *sasrc, char const *name, char const *s
 extern int service_frontend_path(stralloc *sasrc,char const *sv, uid_t owner,char const *directory_forced) ;
 extern int service_endof_dir(char const *dir, char const *name) ;
 extern int service_cmp_basedir(char const *dir) ;
+extern int service_intree(stralloc *svtree, char const *svname, char const *tree) ;
 
 /**
  *
@@ -158,7 +159,6 @@ extern int service_read_cdb(cdb *c, resolve_service_t *res) ;
 extern int service_write_cdb(cdbmaker *c, resolve_service_t *sres) ;
 extern int service_resolve_copy(resolve_service_t *dst, resolve_service_t *res) ;
 extern int service_resolve_sort_bytype(genalloc *gares, stralloc *list, char const *src) ;
-extern int service_resolve_svtree(stralloc *svtree, char const *svname, char const *tree) ;
 extern int service_resolve_setnwrite(sv_alltype *services, ssexec_t *info, char const *dst) ;
 extern int service_resolve_setlognwrite(resolve_service_t *sv, char const *dst) ;
 extern int service_resolve_write_master(ssexec_t *info, ss_resolve_graph_t *graph, char const *dir, unsigned int reverse) ;
diff --git a/src/lib66/info_utils.c b/src/lib66/info_utils.c
index d22954048ad7fc2d741435a27aa3d4da3e551232..11006c0e026ffc684ad85b74557214ebe6a135d5 100644
--- a/src/lib66/info_utils.c
+++ b/src/lib66/info_utils.c
@@ -35,14 +35,14 @@
 
 unsigned int MAXDEPTH = 1 ;
 
-ss_resolve_graph_style graph_utf8 = {
+info_graph_style graph_utf8 = {
     UTF_VR UTF_H,
     UTF_UR UTF_H,
     UTF_V " ",
     2
 } ;
 
-ss_resolve_graph_style graph_default = {
+info_graph_style graph_default = {
     "|-",
     "`-",
     "|",
@@ -210,7 +210,7 @@ void info_display_nline(char const *field,char const *str)
     stralloc_free(&sa) ;
 }
 
-void info_graph_display(resolve_service_t *res, depth_t *depth, int last, int padding, ss_resolve_graph_style *style)
+void info_graph_display(resolve_service_t *res, depth_t *depth, int last, int padding, info_graph_style *style)
 {
     log_flow() ;
 
@@ -287,7 +287,7 @@ void info_graph_display(resolve_service_t *res, depth_t *depth, int last, int pa
     if (buffer_putsflush(buffer_1,"\n") < 0) return ;
 }
 
-int info_walk(resolve_service_t *res,char const *src,int reverse, depth_t *depth, int padding, ss_resolve_graph_style *style)
+int info_walk(resolve_service_t *res,char const *src,int reverse, depth_t *depth, int padding, info_graph_style *style)
 {
     log_flow() ;
 
@@ -347,7 +347,7 @@ int info_walk(resolve_service_t *res,char const *src,int reverse, depth_t *depth
         return 0 ;
 }
 
-int info_graph_init (resolve_service_t *res,char const *src,unsigned int reverse, int padding, ss_resolve_graph_style *style)
+int info_graph_init (resolve_service_t *res,char const *src,unsigned int reverse, int padding, info_graph_style *style)
 {
     log_flow() ;
 
diff --git a/src/lib66/service.c b/src/lib66/service.c
index ac44d12d3bf1384b3dc339f2ddaa94403254d867..de5b09e394d3234e2dd466a9d21160038b845222 100644
--- a/src/lib66/service.c
+++ b/src/lib66/service.c
@@ -212,11 +212,11 @@ int service_frontend_src(stralloc *sasrc, char const *name, char const *src)
 
     if (!sastr_dir_get_recursive(&sa, src, exclude, S_IFREG|S_IFDIR, 1)) {
         stralloc_free(&sa) ;
-        goto err ;
+        return e ;
     }
-    size_t len = sort.len ;
+    size_t len = sa.len ;
     char tmp[len + 1] ;
-    sastr_to_char(tmp, &sa)
+    sastr_to_char(tmp, &sa) ;
 
     for (; pos < len ; pos += strlen(tmp + pos) + 1) {
 
@@ -834,7 +834,7 @@ int service_resolve_sort_bytype(genalloc *gares, stralloc *list, char const *src
  * @Return 1 svname doesn't exist
  * @Return 2 on success
  * @Return > 2, service exist on different tree */
-int service_resolve_svtree(stralloc *svtree, char const *svname, char const *tree)
+int service_intree(stralloc *svtree, char const *svname, char const *tree)
 {
     log_flow() ;
 
diff --git a/src/lib66/ssexec_disable.c b/src/lib66/ssexec_disable.c
index 578c1396cbbf9af5a5c0f74f58ecdec46a6c4b64..c888fe503d007a229bfeae84ae7f9cacc57d331d 100644
--- a/src/lib66/ssexec_disable.c
+++ b/src/lib66/ssexec_disable.c
@@ -236,7 +236,7 @@ int ssexec_disable(int argc, char const *const *argv,char const *const *envp,sse
         if (REMOVE)
         {
             stralloc sa = STRALLOC_ZERO ;
-            r = service_resolve_svtree(&sa,name,0) ;
+            r = service_intree(&sa,name,0) ;
             if (r > 2)
                 log_dieu_nclean(LOG_EXIT_SYS,&cleanup,"use -R option -- ",name," is set on different tree") ;
             stralloc_free(&sa) ;
diff --git a/src/lib66/ssexec_env.c b/src/lib66/ssexec_env.c
index a57809e40ce83d6761e1fbf5208e8d9ec598114f..4c6389ec9e6f1a6f23cf6091de5017ac1c6db43f 100644
--- a/src/lib66/ssexec_env.c
+++ b/src/lib66/ssexec_env.c
@@ -294,7 +294,7 @@ int ssexec_env(int argc, char const *const *argv,char const *const *envp,ssexec_
 
     treename = !info->opt_tree ? 0 : info->treename.s ;
 
-    r = service_resolve_svtree(&sasrc,sv,treename) ;
+    r = service_intree(&sasrc,sv,treename) ;
     if (r == -1) log_dieu(LOG_EXIT_SYS,"resolve tree source of sv: ",sv) ;
     else if (!r) {
         log_info("no tree exist yet") ;