added error code enum