merge 0.7.x to 0.8.x