add sub and gsub