do:sub generator