merge with trunk-gd