error processing improved