let fromListWithSlave 
 ?(masterCallback:((choice->unit) option) = None)
 ?(masterPacking:((GObj.widget -> unit) option) = None
  (masterChoices:choices)

 ?(slaveCallback:((choice->unit) option) = None)
 ?(slavePacking:((GObj.widget -> unit) option) = None )
  (slaveChoices: choice -> choices) 
 
 = let master = fromList ~key:"master" ~callback:masterCallback ~packing:masterPacking masterChoices in
   let slave  = make  
         ~generator:(fun r -> slaveChoices (r#get "master"))
         ~msg:(mkenv [("master",master#selected)])
         ~key:"slave"
         ~callback:slaveCallback
         ~packing:slavePacking in

     let _ = master#add_child slave in master