G-M push-pull-and-return