implement  and  for N