add new flag to control the elite_preservation and implement the frequency_update function