add push pull demo