Resolve #20 - Use offline cache if no internet connection