adding specialised exception types