push and subtree push without subtree split