be more careful with unicode vs str