dash and underscore are now valid, no longer  lowercases