a comment about why the exception catching is necessary would be helpful