improve base exception