first commit, about 50% done.