fixed the symbolic solver, minor restructuring