custome exceptions and applying transitions