enomoto 1st addition!

recommit after merge.