messaging now uses asserts instead of exceptions