add error return process