handled exception instead of throwing better than last time