no exception throws