still learning about push/pull operations