automated push and pull