work on String, though it's questionnable whether it is actually better