Exception handling, did some refactoring, yadda yadda.