add error checking and return from attempted NSM-based initialization