update Part3 Part4