push optimalization