Added even more comments. Added new error catching method 'noMessage' boolean value