added additional options for symbols, numbers, and upper/lower casing