formatting
method naming
added implementations to replace substrings for both unicode and ascii strings