push and pull, both