using new specialized exceptions