using probabilistic methods