second to add essential functions dongyu 20140425