default is a reserved C99 keyword