more cleanups to string private utils - moving virutals to cpp file - and careful about protected and protected accessor inlines