use logging everywhere. added download thread and queuing.