note is optional but produce an undefined warning