add recursive categoryhandling