use a custom exception replacing