adding comments around throwing exceptions