better distinguishing between different errors