diagram with push and fetch