Finished off, basic testing todo
More touchup
Touched