only count non-whitespace chars