doesn't crash when there's no internet connectivity
outsourced common methods to utility-class
+ moved hardcoded strings to strings.xml