add IsPull and IsPush