- using correct url encoding

- handling no internet connection case
- updating UI