adapt to error_or interface change