Progress...
Baby steps.
Only solver left to implement.