brute force optimisation