add better exception messages for missing requirements