Fixed serious bugs
Moved provider.close() to outer scope.
Merge branch 'task3' into task4
Merge branch 'task4' into task5
Fixed error handling in Task5Runner