It doesn't seem we need ctype.h