sync'ed with vm real code
Merge remote-tracking branch 'origin/akane' into akane