Needs some checking over and some tests have altered that need sanity checking, but overall this is starting to get somewhere now.
Needs some checking over and some tests have altered that need sanity checking, but overall this is starting to get somewhere now.