making push part of sync optional
push sync is optional