added some helpful exceptions for required options