add swapcase option
Merge branch 'new-features'