finish & change some cal methods: non centralized push and centralized push