Now throwing exceptions when appropriate.