--- a/wavelets/waveletfb.m
+++ b/wavelets/waveletfb.m
@@ -1,4 +1,4 @@
-function w = waveletfb(wname,varargin)
+function [w, a] = waveletfb(wname,varargin)
 %WAVELETFB   Wavelet Filterbank
 %
 %
@@ -15,6 +15,8 @@
          'wavelet.'],upper(mfilename));
 end;
 
+
+
 switch(wname)
     case('db')
         ord = 1;
@@ -23,7 +25,7 @@
        [flags,kv,J]=ltfatarghelper({'J'},definput,{varargin{2:end}});
        if(isempty(J)) J=1; end
        if(~isempty(varargin)) ord = varargin{1}; end;
-       [w.h, w.g] = dbfilt(ord,J);
+       [w.h, w.g, a] = wfilt_db(ord,J);
        if(flags.do_type_null)
          w.type = 'dec'; 
        else
@@ -35,6 +37,115 @@
        else
          w.ext =  flags.ext; 
        end
+       
+    case('dden')
+       no = 1;
+       definput.import = {'fwt'};
+       [flags,kv]=ltfatarghelper({},definput,{varargin{2:end}});
+       if(~isempty(varargin)) no = varargin{1}; end;
+       [w.h, w.g, a] = wfilt_dden(no);
+       
+       if(flags.do_type_null)
+         w.type = 'dec'; 
+       else
+         w.type = flags.type; 
+       end
+
+       if(flags.do_ext_null)
+         w.ext = 'per'; 
+       else
+         w.ext =  flags.ext; 
+       end
+       
+    case('dgrid')
+       no = 1;
+       definput.import = {'fwt'};
+       [flags,kv]=ltfatarghelper({},definput,{varargin{2:end}});
+       if(~isempty(varargin)) no = varargin{1}; end;
+       [w.h, w.g, a] = wfilt_dgrid(no);
+       
+       if(flags.do_type_null)
+         w.type = 'dec'; 
+       else
+         w.type = flags.type; 
+       end
+
+       if(flags.do_ext_null)
+         w.ext = 'per'; 
+       else
+         w.ext =  flags.ext; 
+       end
+       
+     case('dtree')
+       no = 1;
+       definput.import = {'fwt'};
+       [flags,kv]=ltfatarghelper({},definput,{varargin{:}});
+       if(~isempty(varargin)) no = varargin{1}; end;
+       [w.h, w.g, a] = wfilt_dtree;
+       
+       w.type = 'dtdwt'; 
+
+
+       if(flags.do_ext_null)
+         w.ext = 'per'; 
+       else
+         w.ext =  flags.ext; 
+       end
+       
+     case('hden')
+       no = 1;
+       definput.import = {'fwt'};
+       [flags,kv]=ltfatarghelper({},definput,{varargin{2:end}});
+       if(~isempty(varargin)) no = varargin{1}; end;
+       [w.h, w.g, a] = wfilt_hden(no);
+       
+       w.type = 'hddwt'; 
+
+       if(flags.do_ext_null)
+         w.ext = 'per'; 
+       else
+         w.ext =  flags.ext; 
+       end
+       
+     case('optfs')
+       no = 1;
+       definput.import = {'fwt'};
+       [flags,kv]=ltfatarghelper({},definput,{varargin{2:end}});
+       if(~isempty(varargin)) no = varargin{1}; end;
+       [w.h, w.g, a] = wfilt_optfs(no);
+       
+       if(flags.do_type_null)
+         w.type = 'dec'; 
+       else
+         w.type = flags.type; 
+       end
+
+       if(flags.do_ext_null)
+         w.ext = 'per'; 
+       else
+         w.ext =  flags.ext; 
+       end
+       
+    case('symds')
+       no = 1;
+       definput.import = {'fwt'};
+       [flags,kv]=ltfatarghelper({},definput,{varargin{2:end}});
+       if(~isempty(varargin)) no = varargin{1}; end;
+       [w.h, w.g, a] = wfilt_symds(no);
+       
+       if(flags.do_type_null)
+         w.type = 'dec'; 
+       else
+         w.type = flags.type; 
+       end
+
+       if(flags.do_ext_null)
+         w.ext = 'per'; 
+       else
+         w.ext =  flags.ext; 
+       end
+
+        
     otherwise
         error('%s: Unknown wavelet type: %s',upper(mfilename),name); 
 end;