Latest changes from Takeaki Uno added.