v09 reviewed. 1 small TODO; v10 minor changes
v09 reviewed. 1 small TODO; v10 reviewed