before pull
final solution of phase4