this can generate exceptions, see #924