refactor - new sudokusolver class to handle all solving logic