Tests ok, all functions

Not happy with += operator.  Easy to screw it up with changes to input.