added a bit of a solver, more canonicalization
Added solver