Add recursive upload functionality, close #3