fault checking added