completed--begin to debug part4