add part3 and part4