New and possibly overcomplicated error mechanism