Cleaned up to use specific message strings for exceptional situations..