Mostly change string -> unicode, except in one instance where we want to have bytes (pickling/unpickling)