This may now return null if something went very wrong.