fixied different function style