optimize rigiste logic