#1 - Add colour messages and exception handling