Added more checks and balances to CanarySign (to insure no crashing
occurs from poor programming)