backported innerString functionality