solves warnings, proves hash works, needs tests on unsolved puzzles