finish part3 but may fail in test