some work on brute force, conflicts, still needs a lot of testing/debugging