removed raise_all and replaced with throw