jefferey's script from downloading from an external server. uses download modules to provide specific functionality for types of servers