modularization, generic download function, better recursive mkdir, edited author info