implemented P5substr