draft for widechar deep refactor