initial commit, first two steps cleaned up for publication