a bug or two left but lots of progress