Exception handling, prettification and notification of invalid input.

Fixed #4 #149 #178
Nice point. Will do tomorrow.