pattern finder