implementing guri