separating intialization, tryToSolve, and extractSolution. But I think there are some bug in this version