change all typeof to __typeof__