This is the final edition I think. with commit message polished.