Adding ability to set a negative start index which counts backwards from the length of the source string