better error messaging.