removed replaceFirst widget, maybe a string/array util class is needed