An 8 puzzle solver Python application