Haven't decided whether to merge this yet

Leave it alone for now I guess.  Basically, this is working but isn't fully tested.  There is also a problem with services being removed, so that is bad.