A Rubik's Cube Solver