Update from original 3.09