bug fixed static function should not be abstract