moved tuple decomposition into genPartialString method