final vector push pull