add source string parsing