recursive dir setup