flagged some functions as noreturn (nw)