semi-working. add and change work. tagging not yet tested. intermediate save in case I thrash the thing.