improved part3