inverted value required, double exclamation mark just casts as boolean