reorganise to use old intersection within pattern and switch to new logic after obtaining the final candidate