updates from v3.0 branch