made new solver without the violation of assignment rule. Lacks comments and READMEs still.