add error checking for mem_init