works with unicode