less exceptions, more detail