semi-exhaustive search is added!