doesn't hang with exceptions anymore