Issue 4 - merge in Herman Rodgers branch - alot of work in it

So branching to new branch, and will merge my changes from itsmeg ontop

will merge branch back to head once everyone happy its stable.