init. upload recursion