valid >= 0