modify from n2s