initial work on recursive upload