found a big bug and made error_result_t better