Added source_folder argument
Reorganization
rewrite with 'with'
sd