using catch instead of fail! fail.