More work and cleanup, first complete implementation of addition.