1. Extracted logging into seperate class
2. Now we write exceptions to the console and don't confuse users with a generic error message.
3.  Added a bit of code for handling missing data.