error handling and download_dir property support