v3.1.0 final