be more explicit with catching error