multi-protocol download manager