push before pull
push before pull