Improved : NSRange support