raising exceptions so that they propagate up to fab