Add files download support. huge refactor of DataSource...