added result_t data struct