string platform independent working