Combined satinSingleThread functionality into satin