added error interface