preliminary: move to better from_utf8