Initial commit: throw exceptions, instead of issuing notices