finished string manipulation