v3.1.1 little modify