remove 'throw exception' when unnecessary