much work done on issue #1 adding underlying functionality to solver. Almost complete except for one bug.