Finished.  There are probably better ways ...