recursive export procedure works and seems to be quite robust