1. Will try to connect to a source for some time before giving up.
2. Major refactoring.
Minor bugfix.
Important bugfixes. Please update.