going to improve algorithm to solve harder puzzles