New functions to prepare push and pull