working on it, want to see if there are upstream changes
can do shifted characters