Added moderately tweaked version.